Hi Jamal: On Mon, Jun 19, 2006 at 09:33:51AM -0400, jamal wrote: > > I take it you saw a lot of requeues happening that prompted this? What > were the circumstances? The _only_ times i have seen it happen is when > the (PCI) bus couldnt handle the incoming rate or there was a bug in the > driver.
Actually I discovered the problem only because the generic segmentation offload stuff that I'm working on needs to deal with the situation where a super-packet is partially transmitted. Requeueing causes all sorts of nasty problems so I chose to keep it within the net_device structure. To do so requires qdisc_run to be serialised against each other. I then found out that we want this anyway because otherwise the requeued packets could be reordered. > Also: what happens to the packet that comes in from either local or is > being forwarded and finds the qdisc_is_running flag is set? I couldnt > tell if the intent was to drop it or not. The answer for TCP is probably > simpler than for packets being forwarded. The qdisc_is_running only prevents qdisc_run from occuring (because it's already running), it does not impact on the queueing of the packet. 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