Seeking help understanding my "emX: watchdog timeout" messages

Support (Rudy) crapsh at monkeybrains.net
Fri Jun 20 23:45:52 UTC 2008


Jack Vogel wrote:
> On the 573 get me an eeprom dump:  sysctl dev.em.4.debug=2

here are the dumps:

em4:
Jun 20 16:30:01 mango kernel:
Jun 20 16:30:01 mango kernel: Interface EEPROM Dump:
Jun 20 16:30:01 mango kernel: Offset
Jun 20 16:30:01 mango kernel: 0x0000  3000 6748 5014 0d30 f746 00f4 ffff ffff
Jun 20 16:30:01 mango kernel: 0x0010  ffff ffff 026b 108c 15d9 108c 8086 83df
Jun 20 16:30:01 mango kernel: 0x0020  0008 2000 7e14 0048 1000 00d8 0000 2700
Jun 20 16:30:01 mango kernel: 0x0030  6cc9 3150 0722 040b 0984 0000 c000 0706

em2:
Jun 20 16:31:07 mango kernel:
Jun 20 16:31:07 mango kernel: Interface EEPROM Dump:
Jun 20 16:31:07 mango kernel: Offset
Jun 20 16:31:07 mango kernel: 0x0000  1500 7817 7299 0424 ffff 50a2 ffff ffff
Jun 20 16:31:07 mango kernel: 0x0010  d473 1604 a42f 10a4 8086 10a4 8086 b165
Jun 20 16:31:07 mango kernel: 0x0020  0008 10a4 5800 0000 5001 0000 0000 0100
Jun 20 16:31:07 mango kernel: 0x0030  6cf6 37b0 07a6 8403 0783 0000 c303 0602


> If you have having TX timeouts using polling, perhaps your system
> is so busy that its not running the cleanup routine in time, can you
> switch and run the interface in non-polled, in fact if possible using
> MSI??

I don't think the system is all that busy dual core 2.8Gz CPU...  CPU mostly idle, and 
load is at 0.00.  Here is the throughput on my busiest devices  (lagg0 is em0 & em1):

   dev  out        in
lagg0  67389 kbps 156781 kbps
   em2  54342 kbps  14284 kbps
   em4  93068 kbps  22433 kbps
vlan6  22784 kbps 122790 kbps
------------------------



-------------------------------------------------------
little script to run to monitor throughput on devices
-------------------------------------------------------
#!/bin/sh


DEVS="lagg0 em2 em4 vlan6"

# current_rate.sh
# This script print out the current bw on each link.
# Tue Dec 27 17:11:16 PST 2005, rudy

measure_device_traffic () {
         # measure bytes of 2 seconds... bultiple by 4 to get bits per 1 second
         BITS=`netstat -I $InterfaceToCheck 1 | head -3 | tail -1 `;
         BITS_O=`echo $BITS | awk '{printf       "%6d", $6 / 1024 * 8 }'`;
         BITS_I=`echo $BITS | awk '{printf       "%6d", $3 / 1024 * 8 }'`;
         DEV_PAD=`echo $InterfaceToCheck | awk '{printf "%5s", $1}'`
}

### Measure traffic, print!
echo "  dev  out        in"
while :
do
         for InterfaceToCheck in $DEVS; do
                 measure_device_traffic
                 echo  "$DEV_PAD $BITS_O kbps $BITS_I kbps"
         done
         echo "------------------------"
done




More information about the freebsd-net mailing list