[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/