lan bandwidth issue

Charles Swiger cswiger at
Thu Nov 6 10:58:07 PST 2003

On Nov 6, 2003, at 10:26 AM, Jack L. Stone wrote:
> This "price advice" then implies that if Realtek simply raised their
> prices, the card would be just fine...??

No.  The price advice implies that a NIC that is worth $5 is probably 
not as good as a NIC which is worth $50.  If Realtek raised their 
prices, their cards would become overpriced "cheapo" NICs rather than 
cheap "cheapo" NICs.  :-)

> One should not just go by "expensive", but do some research not just 
> based
> on that "easy" benchmark. The "cheapo" measurement is very misleading
> considering some cards may just be "on sale" and are fine cards. ...or 
> just
> because they use the rlx driver....

Speaking of which, /usr/src/sys/pci/rl.c provides some very specific 
technical details as to the design flaws with this chipset family:

  * The RealTek 8139 PCI NIC redefines the meaning of 'low end.' This is
  * probably the worst PCI ethernet controller ever made, with the 
  * exception of the FEAST chip made by SMC. The 8139 supports bus-master
  * DMA, but it has a terrible interface that nullifies any performance
  * gains that bus-master DMA usually offers.
  * For transmission, the chip offers a series of four TX descriptor
  * registers. Each transmit frame must be in a contiguous buffer, 
  * on a longword (32-bit) boundary. This means we almost always have to
  * do mbuf copies in order to transmit a frame, except in the unlikely
  * case where a) the packet fits into a single mbuf, and b) the packet
  * is 32-bit aligned within the mbuf's data area. The presence of only
  * four descriptor registers means that we can never have more than four
  * packets queued for transmission at any one time.
  * Reception is not much better. The driver has to allocate a single 
  * buffer area (up to 64K in size) into which the chip will DMA received
  * frames. Because we don't know where within this region received 
  * will begin or end, we have no choice but to copy data from the buffer
  * area into mbufs in order to pass the packets up to the higher 
  * levels.
  * It's impossible given this rotten design to really achieve decent
  * performance at 100Mbps, unless you happen to have a 400Mhz PII or
  * some equally overmuscled CPU to drive it.


More information about the freebsd-questions mailing list