[vortex] Problem with 3c905b under 2.2.16

Shane Wegner shane@cm.nu
Mon, 7 Aug 2000 22:20:49 -0700


On Tue, Aug 08, 2000 at 02:00:29AM +0000, Andrew Morton wrote:
> Shane Wegner wrote:
> > 
> > Hi all,
> > 
> > This system, a pentium 75 with 8mb of ram,
> 
> Good heavens.
> 
> > ...
> > eth0: vortex close stats: rx_nocopy 77860 rx_copy 33 tx_queued 14 Rx
> 
>                                       ^^^^^
> 
> I assume from this that you are sending it some pretty large UDP
> packets?

I am sending 8192 byte packets.  16384 of them totaling 128mb.

> I'd suspect that you're running the system out of memory.  If you do
> this hard enough the driver will fail.  It stops receiving packets and
> requires an ifdown/ifup to restore it.
> 
> A fix for this went into Alan's 2.2.17-pre5 tree.  There's a copy at
> http://www.uow.edu.au/~andrewm/linux/3c59x.c-2.2.17-pre5-1.gz - simply
> replace the existing drivers/net/3c59x.c with that file and rebuild.

This seems to work though it still results in a temperary (about 15 second)
outage after the data transmition is over.  Even to the point that processes
can't execute.

argus:~# ttcp -u -r
ttcp-r: buflen=8192, nbuf=2048, align=16384/+0, port=5001  udp
ttcp-r: socket

argus:~# clear
su: fork: Cannot allocate memory
argus:~# dmesg
su: fork: Cannot allocate memory
argus:~#

Wouldn't it be possible to just drop packets which it can't buffer rather
than allocating to the end of ram?  Perhapse a configurable upper limit so
user processes are not affected.

PS. How much ram is required to run at 100mbps or is it the CPU and simply a
question of time before the ram is exhausted.

-- 
Shane Wegner: shane@cm.nu
Personal website: http://www.cm.nu/~shane/