FreeBSD sis DEVICE_POLLING

时间:2014-04-24 04:24:41

标签: kernel freebsd

我有一个带有FreeBSD 7.4内核的SOEKRIS 4801,我正试图从以太网端口(sis0-> sis1)中获得更多性能。

为此,我决定在sis驱动程序/内核中启用设备轮询。

我使用推荐的选项构建了内核:

options DEVICE_POLLING
options HZ=1000

所有内容都构建并运行,我可以输出以前不会使用

显示任何内容的内核轮询选项
sysctl -a kern.polling

kern.polling.idlepoll_sleeping: 1
kern.polling.stalled: 270
kern.polling.suspect: 773
kern.polling.phase: 0
kern.polling.enable: 0
kern.polling.handlers: 1
kern.polling.residual_burst: 0
kern.polling.pending_polls: 0
kern.polling.lost_polls: 156704
kern.polling.short_ticks: 1705
kern.polling.reg_frac: 20
kern.polling.user_frac: 50
kern.polling.idle_poll: 0
kern.polling.each_burst: 5
kern.polling.burst_max: 150
kern.polling.burst: 150

(停滞/怀疑和丢失看起来不太好!)

我使用“ifconfig sis0 polling”等启动并启用适配器对sis0,sis1和sis2的轮询。

ifconfig显示已启用POLLING:

sis0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=3848<VLAN_MTU,POLLING,WOL_UCAST,WOL_MCAST,WOL_MAGIC>
ether 00:00:24:xx:6a:yy
inet 192.168.13.100 netmask 0xffffff00 broadcast 192.168.13.255
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active

但是,当我使用“vmstat -i”监视中断并传输数据时,适配器上仍然会发生中断。根据{{​​3}}等各种指南,如果正在使用轮询,则中断不应增加。

吞吐量非常可怕,因此可以获得更快的速度,因为人们可以报告5MB:

        input        (Total)           output
packets  errs      bytes    packets  errs      bytes colls
  1.8K     0       1.7M       1.8K     0       1.7M     0
  1.7K     0       1.7M       1.7K     0       1.7M     0
  1.7K     0       1.7M       1.7K     0       1.7M     0
  1.8K     0       1.7M       1.8K     0       1.7M     0
  1.8K     0       1.7M       1.8K     0       1.7M     0
  1.8K     0       1.7M       1.8K     0       1.7M     0

目前,瓶颈在速度测试期间显示为> 95%的中断时间,因此希望启用设备轮询。

为什么中断仍在继续,好像设备轮询没有被使用?

由于

0 个答案:

没有答案