Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 20 Dec 1997 11:01:26 +0100 (MET)
From:      j@uriah.heep.sax.de (J Wunsch)
To:        freebsd-hackers@freebsd.org
Subject:   Re: 3com 3c509 card
Message-ID:  <199712201001.LAA29298@uriah.heep.sax.de>
References:  <19822.882343067@verdi.nethelp.no> <3.0.1.32.19971216232646.00766974@pop.mpc.com.br>

next in thread | previous in thread | raw e-mail | index | archive | help
Capriotti <capriotti@geocities.com> wrote:

> I've heard that some 3com cards have only 3KB buffer; Have any of you 
> heard of it ?

No, i think the smallest possible constellation is 8 KB.  The
programming documents IMHO offer some possible diversity which you can
probe at runtime.

The tricky thing with these cards is the buffer space is a FIFO which
you have to divide into a Tx and an Rx segment.  The actual options
how to divide it depend on the total FIFO size, IIRC the 8 KB FIFO
could only be divided into 2 KB Tx and 6 KB Rx FIFO.

A total of 8 KB only is rather dangerous if your machine is slow, and
you're doing NFS.  The default NFS block size is 8 KB, and with only 6
KB Rx buffer space, your machine must have fetched the first packet
from the buffer before the last one from the NFS server arrived at the
NIC (that's ~ 5 ms of time).  If you failed to do this, the entire NFS
block (consisting of 6 Ethernet packets) was lost, and the server
retransmitted it -- with the same problem again.  This was a rather
widely known NFS deadlock situation back in the days of slower CPUs,
and with 3c503's only having 8 KB of buffer space.  (You had to mount
the server with a smaller blocksize, like 1 KB so each NFS block fits
into a single Ethernet packet.  That's the ``Slow NFS'' option in
sysinstall.)

-- 
cheers, J"org

joerg_wunsch@uriah.heep.sax.de -- http://www.sax.de/~joerg/ -- NIC: JW11-RIPE
Never trust an operating system you don't have sources for. ;-)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199712201001.LAA29298>