David Gundersen <[EMAIL PROTECTED]> :
> Now, on to my workaround. Putting a spin style wait like the following
> in front of the line above seemed to solve the problem for me:
>
>
> if (RTL_R8(TxPoll) & NPQ) {
>      for (i = 20; i > 0; i--) {
>       if (!(RTL_R8(TxPoll) & NPQ))
>        break;
>       udelay(25);
>     }
> }
>
> ...
>
> RTL_W8(TxPoll, NPQ);

What's the status of this fix? It (or something more refined) seems necessary
to correct the current performance problems with this driver.  Some
background:

I just got a motherboard (gigabyte ga-p35-ds3p) which has built-in ethernet
via the realtek rtl8111b chip.  I've been experiencing serious performance
problems when it comes to transmitting files across the network using samba.
By serious I mean throughput is probably 200X slower than it should be. This
is the same problem reported by several others.  Some references:

"[Samba] Miserable read performance":
http://lists.samba.org/archive/samba/2007-July/133553.html
"[Samba] RE: Samba running slow"
http://lists.samba.org/archive/samba/2007-January/128846.html
"Re: Realtek RTL8111B serious performance issues"
http://www.mail-archive.com/netdev@vger.kernel.org/msg42860.html

I started with the stock 2.6.22.1 driver, then I tried the
20070628-2.6.22-rc6-r8169-test.patch on top of it, which made no difference.
Then I tried David Gundersen's spin-wait patch and performance was fixed!

Oddly enough, I don't see this performance problem when I test transmit
performance using ttcp, or even when I transfer files with scp. It seems the
extra application layer latency of something like samba is necessary to
reproduce the problem.

I can troubleshoot in more detail if that would help get a proper fix
developed.

-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to