How to troubleshoot slow network performance with Realtek 8169s?

Ted Mittelstaedt tedm at toybox.placo.com
Mon Jul 4 08:14:37 GMT 2005



>-----Original Message-----
>From: Juha Saarinen [mailto:juhasaarinen at gmail.com]
>Sent: Sunday, July 03, 2005 4:03 AM
>To: Ted Mittelstaedt
>Cc: FreeBSD questions
>Subject: Re: How to troubleshoot slow network performance with Realtek
>8169s?
>
>
>On 7/3/05, Ted Mittelstaedt <tedm at toybox.placo.com> wrote:
>> 
>> The Realtek is a cheap adapter.  You can try hard-coding the
>> media type to see what happens, but the fact remains this is
>> nowhere near as good a card as the 82801B.  As a result of this
>> there hasn't been that much attention to driver optimizations,
>> you can review the work here:
>> 
>> http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/dev/re/if_re.c
>> 
>> If playing around with the media type doesen't fix it you can
>> try a send-pr but your best off just pulling the card and
>> replacing it with another Intel, then mailing the card to one
>> of the driver developers.  Maybe in 6 months to a year you
>> might see a faster driver in FreeBSD - or maybe not.
>
>Yeah, I know the 8169s isn't the flashest card in the universe and I
>don't mind donating a card or two to the developers, but with further
>testing -- assuming iperf isn't lying -- it seems the driver is OK and
>there's something happening further up the chain that I don't
>understand yet.
>
>What's weird is that with both 100 and 1000Mbit/s connections, the max
>speed is a quarter of the link speed when using applications such as
>ftp for transferring files. With iperf, I see 92Mbit/s on 100Mbit/s
>and 400-640Mbit/s on 1000mbit/s connections depending on the
>direction.
>
>

This isn't weird at all.  It is a driver issue.  Remember I said the
driver hasn't been optimized.  The driver could be letting the card
seize the PCI bus for an inordinate amount of time or some such.  This
could also be an interaction with the card, the driver, and some bios
setting of your motherboard.  This could be, for example, not allowing
enough cpu time for a higher-overhead program like FTP to run at full
speed, while allowing a lower overhead program like iperf, enough time
to run at full blast.  I have seen issues like this before and they
have almost always been solved by swapping hardware.

I have in fact swapped hardware that acted up in one machine to
a different machine that had a different motherboard, same FreeBSD
versions on both systems, and that hardware became rock-solid in
the new motherboard.

Frankly it all depends on what you want to do.  If this is a production
system you are going to need it online and you can't waste the time
to screw around with it - in that case you know the Intel chipset works
well in that motherboard, so replace the Realtek.  If however this is
a fun-n-games system then keep the Realtek in there and file a send-pr
and work it that way.

Ted



More information about the freebsd-questions mailing list