Supermicro PDSMi+で、rsync等を行うと次のようなエラーが出て困っています。
e1000: eth0: e1000_clean_tx_irq: Detected Tx Unit Hang
Tx Queue <0>
TDH <f1>
TDT <2>
next_to_use <2>
next_to_clean <f1>
buffer_info[next_to_clean]
time_stamp <28db9>
next_to_watch <f1>
jiffies <29609>
next_to_watch.status <0>
e1000: eth0: e1000_clean_tx_irq: Detected Tx Unit Hang
Tx Queue <0>
TDH <f1>
TDT <2>
next_to_use <2>
next_to_clean <f1>
buffer_info[next_to_clean]
time_stamp <28db9>
next_to_watch <f1>
jiffies <297fd>
next_to_watch.status <0>
e1000: eth0: e1000_watchdog: NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX
e1000_clean_tx_irqなどで、検索すると、ethtool -K eth0 tso offなどで直ることもあるらしいが、どうもうちの場合違うらしい。
PDSMi+には、
82573Vと82573Lがのっているらしいが、どうも違うようだ。
e1000-7.3.20のpci.updates より
108b 82573V Gigabit Ethernet Controller (Copper)
108c 82573E Gigabit Ethernet Controller (Copper)
1096 80003ES2LAN Gigabit Ethernet Controller (Copper)
1098 80003ES2LAN Gigabit Ethernet Controller (Serdes)
1099 82546GB Gigabit Ethernet Controller (Copper)
8086 1099 PRO/1000 GT Quad Port Server Adapter
109a 82573L Gigabit Ethernet Controller
lspciの出力より
0000:0d:00.0 Ethernet controller: Intel Corp.: Unknown device 108c (rev 03)
0000:0e:00.0 Ethernet controller: Intel Corp.: Unknown device 109a
82573Eと82573Lが正しいようですね。
で、 上記のエラーですが、eth0(たぶん、82573E)側のみ出る。
- IPMIカードもeth0を使っているので、これが絡んでいるかもしれない。
- それとも、チップ依存かもしれない
82573とe1000_clean_tx_irqで検索してみると、同様の事例がたくさん出てくる。
いろいろ試した挙句、
linux-2.6.15ではOK
linux-2.6.17.3、linux-2.6.18.2、linux-2.6.19.1ではNG
linux-2.6.19.1にe1000-7.3.20(最新)を組み合わせてもNG
linux-2.6.19.1、linux-2.6.19.1+e1000-7.3.20で、
# CONFIG_E1000_NAPI is not set
に変えた場合には、OK(=エラーが出ない)になった。
とおもったら、ダメでした。
やっぱり、まだ、エラーを吐いてしまいます。 困った。