On Tue, 2006-08-08 at 12:17 +1000, Herbert Xu wrote: > CPU0 CPU1 > __qdisc_run > netif_queue_stopped > netif_wake_queue > __netif_schedule > test_bit > clear_bit > > So you may end up losing that wake event.
Indeed you may. I think what i was seeing is (motivating the patch to begin with) is: if you got out of qdisc restart because driver returned TX_BUSY leading to a netif_queue_stopped then you will have rescheduled on CPU0. The only exception is the one example i mentioned in earlier email where a TX_OK is returned by e1000. > The QDISC_RUNNING bit was > originally designed to be used under the qdisc lock, so using it > in a different contexts will require new synchronisation mechanisms. Agreed. cheers, jamal - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html