Error: em0: Watchdog timeout -- resetting
Vladislav V. Prodan
universite at ukr.net
Tue Aug 24 22:11:32 UTC 2010
The server is sometimes off the network card.
It helps just to restart via KVM-IPMI.
MotherBoard: X8SIL/X8SIL-F
BIOS Version: 1.0c
Build Date: 02/05/10
OS: FreeBSD 8.1-RELEASE, FreeBSD 8.1-STABLE, FreeBSD 9.0-CURRENT
What would you recommend to address the problem?
# uname -a
FreeBSD solo.XXX.biz 9.0-CURRENT FreeBSD 9.0-CURRENT #0: Tue Aug 24
15:52:21 EEST 2010 root at solo.XXX.biz:/usr/obj/usr/src/sys/solo.2 amd64
#pciconf -lv
...
em0 at pci0:2:0:0: class=0x020000 card=0x060515d9 chip=0x10d38086 rev=0x00
hdr=0x00
vendor = 'Intel Corporation'
device = 'Intel 82574L Gigabit Ethernet Controller (82574L)'
class = network
subclass = ethernet
em1 at pci0:3:0:0: class=0x020000 card=0x060515d9 chip=0x10d38086 rev=0x00
hdr=0x00
vendor = 'Intel Corporation'
device = 'Intel 82574L Gigabit Ethernet Controller (82574L)'
class = network
subclass = ethernet
...
In /usr/src/sys/dev/e1000/if_em.c:
static void
em_local_timer(void *arg)
{
struct adapter *adapter = arg;
struct ifnet *ifp = adapter->ifp;
struct tx_ring *txr = adapter->tx_rings;
EM_CORE_LOCK_ASSERT(adapter);
em_update_link_status(adapter);
em_update_stats_counters(adapter);
/* Reset LAA into RAR[0] on 82571 */
if (e1000_get_laa_state_82571(&adapter->hw) == TRUE)
e1000_rar_set(&adapter->hw, adapter->hw.mac.addr, 0);
/*
** Check for time since any descriptor was cleaned
*/
for (int i = 0; i < adapter->num_queues; i++, txr++) {
EM_TX_LOCK(txr);
if (txr->watchdog_check == FALSE) {
EM_TX_UNLOCK(txr);
continue;
}
if ((ticks - txr->watchdog_time) > EM_WATCHDOG)
goto hung;
EM_TX_UNLOCK(txr);
}
callout_reset(&adapter->timer, hz, em_local_timer, adapter);
return;
hung:
device_printf(adapter->dev, "Watchdog timeout -- resetting\n");
ifp->if_drv_flags &= ~IFF_DRV_RUNNING;
adapter->watchdog_events++;
EM_TX_UNLOCK(txr);
em_init_locked(adapter);
}
Someone will finish the piece for debugging, to further diagnose the error?
More information about the freebsd-net
mailing list