Watchdog Timeout - bge device - 6.2-PRERELEASE

John Marshall John.Marshall at riverwillow.com.au
Thu Nov 2 23:50:38 UTC 2006


rwsrv05> dmesg | grep bge
bge0: <Broadcom BCM5705 A3, ASIC rev. 0x3003> mem 0xe8200000-0xe820ffff
irq 17 at device 4.0 on pci4
miibus1: <MII bus> on bge0
bge0: Ethernet address: 00:0b:cd:e7:70:19
bge0: link state changed to UP
bge0: watchdog timeout -- resetting
bge0: link state changed to DOWN
bge0: link state changed to UP
bge0: watchdog timeout -- resetting
bge0: link state changed to DOWN
bge0: link state changed to UP
bge0: watchdog timeout -- resetting
bge0: link state changed to DOWN
bge0: link state changed to UP

This is happening, on average, once per day. It happens when the bge0
interface is under load. I cannot reproduce it at will.

I posted here about a month ago when I was seeing this problem under
SCHED_ULE.
http://lists.freebsd.org/pipermail/freebsd-stable/2006-October/029079.ht
ml
Having been duly castigated for using SCHED_ULE, I reverted to
SCHED_4BSD and kept quiet.

The symptoms are back! (less frequently) under SCHED_4BSD - but the
kernel now has lots of extras.

In order to help with testing 6.2-PRERELEASE, I've been loading up
drivers for bits of the hardware which I don't even use. That has
brought to light a shared interrupt which may or may not have some
relevance. I'm also now running SMP. I've also compiled in INVARIANTS on
the understanding that it's supposed to provide helpful debugging
information for this issue (but I don't know how to use it - and I
haven't seen any extra clues).

Hardware: hp ProLiant ML110

rwsrv05> vmstat -i
interrupt                          total       rate
irq1: atkbd0                         546          0
irq6: fdc0                             9          0
irq14: ata0                       156756          2
irq15: ata1                           47          0
irq17: bge0+                    18518341        309
irq24: fxp0                        78098          1
irq26: mpt0                       851102         14
cpu0: timer                    119569853       2000
cpu1: timer                    119555276       1999
Total                          258730028       4327

rwsrv05> dmesg | grep 'irq 17'
bge0: <Broadcom BCM5705 A3, ASIC rev. 0x3003> mem 0xe8200000-0xe820ffff
irq 17 at device 4.0 on pci4
ichsmb0: <Intel 6300ESB (ICH) SMBus controller> port 0x1440-0x145f irq
17 at device 31.3 on pci0

rwsrv05> sysctl kern.version kern.sched kern.smp hw.machine hw.model
dev.bge
kern.version: FreeBSD 6.2-PRERELEASE #0: Tue Oct 31 21:30:38 AEDT 2006
    root at rwsrv05.mby.riverwillow.net.au:/spare/obj/usr/src/sys/RWSRV05

kern.sched.name: 4BSD
kern.sched.quantum: 100000
kern.sched.ipiwakeup.enabled: 1
kern.sched.ipiwakeup.requested: 2
kern.sched.ipiwakeup.delivered: 2
kern.sched.ipiwakeup.usemask: 1
kern.sched.ipiwakeup.useloop: 0
kern.sched.ipiwakeup.onecpu: 0
kern.sched.ipiwakeup.htt2: 0
kern.sched.followon: 0
kern.sched.pfollowons: 0
kern.sched.kgfollowons: 0
kern.sched.preemption: 1
kern.sched.runq_fuzz: 1
kern.smp.maxcpus: 16
kern.smp.active: 1
kern.smp.disabled: 0
kern.smp.cpus: 2
kern.smp.forward_signal_enabled: 1
kern.smp.forward_roundrobin_enabled: 1
hw.machine: i386
hw.model: Intel(R) Pentium(R) 4 CPU 2.80GHz
dev.bge.0.%desc: Broadcom BCM5705 A3, ASIC rev. 0x3003
dev.bge.0.%driver: bge
dev.bge.0.%location: slot=4 function=0
dev.bge.0.%pnpinfo: vendor=0x14e4 device=0x1654 subvendor=0x103c
subdevice=0x1654 class=0x020000
dev.bge.0.%parent: pci4
rwsrv05> 

Here's what I've added to the kernel config since 4th October...

rwsrv05> rcsdiff -u -r1.9 -r1.18 RWSRV05 | grep ^+
===================================================================
RCS file: RCS/RWSRV05,v
retrieving revision 1.9
retrieving revision 1.18
diff -u -r1.9 -r1.18
+++ RWSRV05     2006/10/31 10:24:01     1.18
+# $Id: RWSRV05,v 1.18 2006/10/31 10:24:01 john Exp $
+options        INVARIANT_SUPPORT
+options        INVARIANTS
+options        SMP                     # Symmetric MultiProcessor
Kernel
+#options       SCHED_ULE               # ULE scheduler
+options        SCHED_4BSD              # 4BSD scheduler
+
+options        NFSSERVER               # Network File System server
+options        NFSCLIENT               # Network File System client
+
+# USB support
+device                 usb             # General USB code (mandatory
for USB)
+device         uhci            # UHCI controller
+device         ehci            # EHCI controller
+
+# SMB bus
+device         smbus           # Bus support, required for smb below.
+# ichsmb       Intel ICH SMBus controller chips (82801AA, 82801AB,
82801BA)
+device         ichsmb
+device         smb
+
+# AGP GART support
+device         agp
+
+# Direct Rendering modules for 3D acceleration
+device         drm             # DRM core module required by DRM
drivers
+device         mach64drm       # ATI Rage Pro, Rage Mobility P/M, Rage
XL
+
+# ichwd: Intel ICH watchdog timer
+device         ichwd
rwsrv05> 

I'm not actually using this extra stuff. I just thought it might be
helpful (to FreeBSD) to find drivers for all my hardware to see if
anything was broken.

John Marshall.


More information about the freebsd-stable mailing list