Thread (62 messages) 62 messages, 13 authors, 2005-01-27

Re: LLTX and netif_stop_queue

From: Eric Lemoine <hidden>
Date: 2004-12-22 18:49:48

On 19 Dec 2004 14:31:15 -0500, jamal [off-list ref] wrote:
On Sat, 2004-12-18 at 00:44, David S. Miller wrote:
quoted
Perhaps one way to fix this is to add a pointer to a spinlock to
the netdev struct, and have hold that the upper level grab that
when NETIF_F_LLTX when doing queue state checks.  Actually, that
could end up being racy too.
How about releasing the qlock only when the LLTX transmit lock is
grabbed? That should bring it to par with what it was originally.
I dont like the idea of releasing inside the driver a lock taken
outside. That might be just me...

Instead, I would suggest to have LLTX drivers check whether queue is
stopped after they grab their private tx lock and before they check tx
ring fullness. That way we close the race window but keep the driver
bug check around.

See attached sungem patch.

-- 
Eric

Attachments

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help