Subject: Re: WANTED: ep(4) testers
To: Jarom r <>
From: Herb Peyerl <>
List: current-users
Date: 05/12/2001 06:17:57
"Jarom r" Dolecek <>  wrote:
 > * g/c the mbuf preallocation code and make sure all mbuf allocation
 >   is done out of splsched() in epget() - the idea is that preallocation code
 >   doesn't help performance noticably and needed to do some mbuf frobbing
 >   to parts which are commonly treated as opaque by drivers, thus making
 >   experiments with mbufs harder; also,

Just thought I'd mention that when the driver was written, the preallocation
code is what boosted performance from 400kB/sec to line-speed on the fastest
machine available at the time, a 486-DX2/66.  Obviously, this was in the days
of only PIO based 3c5x9's.

 > * implement RX Early support - the idea here is to intercept the
 >   completition of packet receive and do part of the processing before
 >   the whole packet is received; thus in theory, once whole packet
 >   is received, the rest of it can be processed faster, thus making the
 >   FIFO space faster available for next packet and hence improving
 >   performance
 >   - this didn't seem to help on my machine (386DX), however might
 >     help on something less crappy; currently, the RX Early threshold
 >     is fixed at ETHERMTU - 200, the code could be improved
 >     to adjust the threshold if too many packet overruns are encountered

I also played with this at the time and found it made no discernable
difference on any of the machines I tested it with. Again, the fastest
thing available at the time was a 486/66.