Thread (9 messages) flat view 9 messages, 5 authors, 2003-08-13

Re: RFR: new SiS gige driver

From: Jeff Garzik <hidden>
Date: 2003-08-11 01:07:31

Andi Kleen wrote:
The netif_wake_queue is lost. It's only deadly when clean some packets
clears the full TX ring, otherwise it will likely recover with the 
next TX finished interrupt but give suboptimal performance.

Fix is to do the my queue is full -> netif_stop_queue inside the spinlock.
"a fix" not "the fix" :)

You can also do what some drivers do, and move the netif_queue_stop 
above the queue-packet-to-hw section of driver's ->hard_start_xmit. 
Then when this uncommon race occurs, you are guaranteed another 
TX-complete interrupt, even if the queue is stopped prematurely.

A lot of drivers netif_stop_queue after, not before, so this is indeed 
an issue that needs paying attention to.

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