Chinaunix首页 | 论坛 | 博客
  • 博客访问: 185505
  • 博文数量: 29
  • 博客积分: 1280
  • 博客等级: 中尉
  • 技术积分: 320
  • 用 户 组: 普通用户
  • 注册时间: 2005-02-22 16:23
文章分类

全部博文(29)

文章存档

2009年(3)

2008年(1)

2007年(1)

2006年(3)

2005年(21)

我的朋友

分类: BSD

2006-05-10 00:29:35

继续搞POLLING的分析
在SMP机器上装了FB6,进行POLLING测试.
SMP机器配置: CPU  PII 450 X 2
             主板:MSI 6129
             内存 256MB
             网卡 IF_VR  1块
                  IF_FXP 1块
             硬盘  2 块
操作系统:FreeBSD 6.0
         POLLING支持开启.
             增加监测功能:
             1.手动
                  增加sysctl中kern.polling的调试节点
                  SYSCTL_NODE(_kern_polling, OID_AUTO, dbg, CTLFLAG_RW, 0, "Device polling debug");
             监测点1:NETISR_POLL监测.在调试节点下申明一计数器.
             监测点2:NETISR_POLLMORE监测.在调试节点下申明一计数器.
             其他检测点:正考虑中...(网卡的执行CPU和其他一些参数)
             2.自动
                  还未考虑(是否对调度器情况进程检测?)
 
目前的一些结果:
1. 在PII X 2的SMP环境中,软中断NETISR_POLL的每秒差不多轮询30000多次.
   这是在没有什么网络负载的情况下,下一步要测试在以太网,IP层分别有负载
   的情况.
2. NETISR_POLLMORE比NETISR_POLL要少一些.这有些奇怪,按代码的情况应该
   是一样多的,少的情况只有一种:在NETISR_POLLMORE执行前又到了硬时钟中断
   ,继续执行NETISR_POLL???
3. 一些测试值:
   kern.polling.dbg.poll_coun: 5404323
kern.polling.dbg.pollmore_coun: 4952549
kern.polling.dbg.poll_suspect: 0
kern.polling.dbg.poll_invoke: 24 从硬件时钟中断到netisr_poll的毫秒
kern.polling.dbg.net_load: 30 从NETISR_POLL到NETISR_POLLMORE的毫秒
kern.polling.burst: 150
kern.polling.burst_max: 150
kern.polling.each_burst: 20
kern.polling.idle_poll: 0
kern.polling.user_frac: 50
kern.polling.reg_frac: 20
kern.polling.short_ticks: 258
kern.polling.lost_polls: 4
kern.polling.pending_polls: 0
kern.polling.residual_burst: 0
kern.polling.handlers: 1
kern.polling.enable: 1
kern.polling.phase: 0
kern.polling.suspect: 2
kern.polling.stalled: 0
kern.polling.idlepoll_sleeping: 1

阅读(2450) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~