System Hangs

Brian Childs <[email protected]> Tue, 8 Jul 2003 08:28:36 -0400
Newsgroups gmane.linux.drivers.eepro100.devel
Message-ID <[email protected]>
Hi All,

Over the past 2 weeks I've had several system hangs.  The symtoms are:

- The system became unresponsive
- Analysis of the log showed the ethernet driver having a buffer problem
- The driver tries very hard to recover from the problem, but is unable to
- Since the ethernet device is not working, the system hangs waiting for NFS

The exact message in syslog is:
Jul  7 09:55:21 howler201 kernel: eth0: can't fill rx buffer (force 0)!
Jul  7 09:55:22 howler201 kernel: eth0: Tx ring dump,  Tx queue 479022977 / 479022977:
.... the dump follows ...

I traced through the kernel source to find that these messages will only
be generated if a call to dev_alloc_skb fails and returns NULL.  Is that
correct?

Does that mean I'm out of physical memory, or that I don't have any
skb's left (what ever they are)?

I thought if I was out of memory, the kernel would start killing
processes, and I'm not seeing anything in syslog about that happening.

I get about 35 of those can't fill rx buffer messages, and then I get:
Jul  7 10:38:38 howler201 kernel: eth0: card reports no resources.

That's when things really grind to a halt.  I can't find that message in
the kernel source.

Anyway, I'm running an IBM x330, dual 1.4Ghz cpu's.

I'm running a pretty stock 2.4.18 kernel.  The following shows up in dmesg:

eepro100.c:v1.09j-t 9/29/99 Donald Becker http://www.scyld.com/network/eepro100.html
eepro100.c: $Revision: 1.36 $ 2000/11/17 Modified by Andrey V. Savochkin <[email protected]> and others

I know it's an old version, but I haven't had reason to upgrade.

Any help would be greatly appreciated.

Brian