我有分寸

CentOS/RHEL 5.4 BCM5709网卡问题

gnawux bcm5709bnx2bugcentosdisable_msilinuxmsi-xrhel

前不久我们的一批使用 Broadcom NetXtreme II BCM5709 千兆网卡的 CentOS 5.4 机器的网卡在大负载下频频挂掉,无法ping通任何其他机器,但可以ping通自己,只要重启网卡即可恢复,实在让人费解。

Google了一下,发现此版本的 bnx2 驱动缺省使用了 MSI-X,但在处理中断时可能会出现问题,具体影响的版本如下:

# uname -r
2.6.18-164.6.1.el5
# modinfo bnx2 |grep "^version"
version:        1.9.3

Red Hat的KB/Bugzilla里是这么记录的

in certain circumstances, under heavy load, certain network interface cards using the bnx2 driver and configured to use MSI-X, could stop processing interrupts and then network connectivity would cease. (BZ#587799)

嗯,解决方法,很简单,在/etc/modprobe.d/目录中添加一个文件,比如叫bnx2,设置一下模块参数:

# cat /etc/modprobe.d/bnx2
# This is believed could solve the network freezing problem
# RHKB: in certain circumstances, under heavy load, certain
# network interface cards using the bnx2 driver and configured
# to use MSI-X, could stop processing interrupts and then
# network connectivity would cease. (BZ#587799)

options bnx2 disable_msi=1

如果不重启机器的话,就重启一下模块

# modprobe –r bnx2
# modprobe bnx2

然后就OK了。

gnawux
me!#$!@#$@#$wangxu!@#$%^&*()_me