Subject: Re: pcmcia ep0 performance awful in 1.6/-current
To: Ben Harris <bjh21@netbsd.org>
From: Nathan J. Williams <nathanw@wasabisystems.com>
List: current-users
Date: 07/10/2002 12:19:50
Ben Harris <bjh21@netbsd.org> writes:

> Basically, normal behaviour if you set NFS_RSIZE larger than the rx buffer
> on a slow Ethernet card.  Your client asks the NFS server for 32K of data.
> The NFS server puts the entire response in a single UDP datagram, which
> then gets fragmented, and the fragments get sent out onto the wire as fast
> as the server can send them (which is probably quite fast).  The fragments
> pile up in the rx buffer on the client, and if the buffer is small enough,
> and the kernel can't clear it fast enough, the trailing fragemnets will
> likely get dropped and the whole request will have to be retried.

Right. For the ep0 that Tom and I were seeing, the rx buffer on the
card is 5K: 

ep0 at pcmcia1 function 0 port 0x400-0x40f: 3Com 3c589 10Mbps Ethernet
ep0: address 00:60:97:48:e7:ef, 8KB byte-wide FIFO, 5:3 Rx:Tx split

and pcmcia is a slow interface. So 32k datagrams over that are going
to suck.

        - Nathan