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(=エラーが出ない)になった。

とおもったら、ダメでした。

やっぱり、まだ、エラーを吐いてしまいます。 困った。