Re: LLTX and netif_stop_queue
From: Eric Lemoine <hidden>
Date: 2004-12-22 18:49:48
Attachments
- sungem-lltx.patch [application/octet-stream] 511 bytes · preview
- (unnamed) [text/plain] 0 bytes · preview
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