[realtek] Question: Rx Ring Buffers in the rtl8139 module

joerg.beyer@email.de joerg.beyer@email.de
Fri Aug 30 13:52:01 2002


Donald Becker <becker@scyld.com> schrieb am 30.08.02 19:37:47:
> On Fri, 30 Aug 2002 joerg.beyer@email.de wrote:
> > Donald Becker <becker@scyld.com> schrieb am 29.08.02 23:13:44:
> > > No, more efficient NIC __hardware__ puts the each packet into its own
> > > buffer.  The rtl8139 (before the much better "C+", which still isn't
> > > commonly available) only has the hardware to receive into into a single
> > > ring buffer.
> > 
> > I was not aware, that there is a (big) difference between 8139C and 8139C+
> > cards.
> 
> There is a very big difference.
> 
> > lspci shows my NIC as this:
> > 00:09.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139 (rev 10)
> 
> Good...
> 
> > while /proc/pci tells this:
> >     Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 16).
> 
> Arrrggggggg.  Those idiots!  Changing /proc/pci names again.
> People will misinterpret this as stating that they have a C+ chip, when
> they have a standard rtl8139.
> 
> > Which is the correct/best driver for that NIC?
> 
> You have have a rtl8139C, not C+.  All current drivers will
> approximately equal, although the older 8139too driver is slower (no
> copy+checksum on receive).

8139too gives in the order of 10.000 errors per sec under load, while
rtl8139 is better and has (only) a few 100 errors per sec.

Is there anything I can do about that? 
Any debugging I can do?
It's an onboard NIC on a laptop.

    TIA
    Joerg