From: Bruce Cole <bacole@gmail.com>
To: Francois Romieu <romieu@fr.zoreil.com>, netdev@vger.kernel.org
Cc: bacole@gmail.com
Subject: [RFT] r8169 changes against 2.6.23-rc3
Date: Tue, 21 Aug 2007 12:32:52 -0700 [thread overview]
Message-ID: <46CB3DE4.4060107@gmail.com> (raw)
On 8/20/07, Dirk wrote:
>> So it seems that when the driver tries to queue a packet while the
>> controller is busy processing the queue, the newly queued packet does
>> not get noticed by the controller (until further packet activity
occurs).
>> Perhaps there is a problem with the memory barriers when adding to the
>> TX queue, but I'm a newbie on linux kernel memory barriers.
>
>One thing I noticed a while ago (march) is that floodpinging (ping -f)
>the r8169 host from an external system also increases performance
>without changing code.
Yes, I just tried this and saw the same result. Makes perfect sense -
if the TX queue is normally getting stuck until TCP retransmits, then
keeping the TX queue busy keeps the queue from remaining stuck.
I think this is a good demonstration that the underlying problem is a
stuck TX queue as suggested.
>I ended up (until now perhaps :-) with disabling the onboard nic and
>adding an e1000 card.
Yes, ditching the realtek interface and going with an ad-on nic seems to
be what everyone has been doing to get around this problem. Perhaps
you'd like to try the busy-wait workaround with ndelay(10)? It has
saved me from buying an e1000 card as well.
Speaking of the e1000, I notice that its TX queue processing code for
that driver includes spin_lock_irqsave()/spin_unlock_irqrestore()
protection on access to the queue. The r8169 driver seems to be missing
equivalent code. Last time I dealt with kernel locking bugs was in the
old days of splnet()/splx(), so I could use some help here, but I
suspect this could be fixed with more careful locking.
next reply other threads:[~2007-08-21 19:34 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-08-21 19:32 Bruce Cole [this message]
2007-08-22 5:51 ` [RFT] r8169 changes against 2.6.23-rc3 Bruce Cole
[not found] <20070818100701.GA20703@electric-eye.fr.zoreil.com>
2007-08-19 2:41 ` Bruce Cole
2007-08-20 8:34 ` Dirk
2007-08-20 18:58 ` Chuck Lever
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=46CB3DE4.4060107@gmail.com \
--to=bacole@gmail.com \
--cc=netdev@vger.kernel.org \
--cc=romieu@fr.zoreil.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.