11月 262011
 

 Linux Kernel 3.1.1 にしてからだと思うが、Intel EXPI9402PT サーバアダプタの調子が悪い。具体的には、以下メッセージが出て NIC が5〜10秒間前後停止する。

e1000e 0000:01:00.0: eth1: Detected Hardware Unit Hang:
TDH                  <36>
TDT                  <36>
next_to_use          <36>
next_to_clean        <4a>
buffer_info[next_to_clean]:
time_stamp           <1010a56e9>
next_to_watch        <4f>
jiffies              <1010a612f>
next_to_watch.status <0>
MAC Status             <80383>
PHY Status             <792d>
PHY 1000BASE-T Status  <3800>
PHY Extended Status    <3000>
PCI Status             <10>
------------[ cut here ]------------
WARNING: at net/sched/sch_generic.c:255 dev_watchdog+0x251/0x260()
Hardware name:
NETDEV WATCHDOG: eth1 (e1000e): transmit queue 0 timed out
Modules linked in: pppoe pppox e1000e coretemp snd_seq_dummy snd_seq_oss snd_seq_midi_event snd_seq snd_seq_device snd_pcm_oss snd_mixer_oss snd_hda_codec_analog snd_hda_intel snd_hda_codec snd_hwdep snd_pcm snd_timer snd uvcvideo snd_page_alloc
Pid: 0, comm: swapper Not tainted 3.1.1-gentoo #3
Call Trace:
  [] ? warn_slowpath_common+0x7b/0xc0
[] ? warn_slowpath_fmt+0x45/0x50
[] ? dev_watchdog+0x251/0x260
[] ? run_timer_softirq+0x12f/0x250
[] ? qdisc_reset+0x40/0x40
[] ? tick_handle_oneshot_broadcast+0xec/0x120
[] ? __do_softirq+0x98/0x120
[] ? call_softirq+0x1c/0x30
[] ? do_softirq+0x4d/0x80
[] ? irq_exit+0x8e/0xb0
[] ? do_IRQ+0x5c/0xd0
[] ? common_interrupt+0x6b/0x6b
  [] ? acpi_idle_enter_simple+0xd2/0x104
[] ? acpi_idle_enter_simple+0xcd/0x104
[] ? acpi_idle_enter_bm+0xdf/0x264
[] ? cpuidle_idle_call+0xa7/0x100
[] ? cpu_idle+0x6a/0xc0
[] ? start_kernel+0x32d/0x338
---[ end trace a9d593cc6daa51d1 ]---
e1000e 0000:01:00.0: eth1: Reset adapter

 「————[ cut here ]————」以降のトレースは滅多に出ないが、「 Detected Hardware Unit Hang」が出ると数秒後にドライバが NIC をリセットするまで通信が止まってしまう。そのため、このポートでサービスしている何かに対して死活監視しているとアラートが上がることがある。少なくとも私はいくつかの Web サービスに対する死活監視アラートが届いてこの問題に気づいた。

Continue reading »