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

Re: RFR: new SiS gige driver

From: Ben Greear <hidden>
Date: 2003-08-09 18:10:45

Jeff Garzik wrote:
Andi Kleen wrote:
quoted
* netif_stop_queue in hard_start_xmit is not protected against the 
interrupt by the spinlock. That's racy, isn't it?

Shouldn't be, if done right.  If the interrupt runs a TX completion 
cycle, it will run the code
    if (work_done && netif_queue_stopped(dev))
        netif_wake_queue(dev)
Since ->hard_start_xmit is guaranteed never to be called if the queue is 
stopped, you also guaranteed that netif_wake_queue and ->hard_start_xmit 
are mutually exclusive.
Is this really guaranteed?  What if the queue is stopped between the check
to see if it's stopped and the call to hard_start_xmit?

Ben


-- 
Ben Greear [off-list ref]
Candela Technologies Inc  http://www.candelatech.com
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help