jamal <[EMAIL PROTECTED]> wrote: > > Ok, see if this makes sense: > > CPU0 CPU1 (holding qdisc running) > . | > . | > . + grab qlock > . | > . | deq pkt > . + release qlock > . + grab txlock > . | send pkt > . + release txlock > . + grab qlock > has pktX | (NEW: qlen = 0); return 0 instead of -1 > waiting for qlock + release qlock
This release qlock isn't in our source code :) > + grab qlock | > | + find that return code is 0 > | enq pkt X + release qdisc running > | | > + release qlock | ==> outta here > > pkt X is stuck unless some event happens such as a new pkt arrival. > In other words it sits there for an indeterminate period. Cheers, -- Visit Openswan at http://www.openswan.org/ Email: Herbert Xu ~{PmV>HI~} <[EMAIL PROTECTED]> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt - 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