On Mon, Aug 07, 2006 at 03:03:33PM -0400, jamal wrote: > > -#define E1000_TX_WEIGHT 64 > - /* weight of a sort for tx, to avoid endless transmit > cleanup */ > - if (count++ == E1000_TX_WEIGHT) break; > + /* avoid endless transmit cleanup */ > + if (count++ == tx_ring->prunet) break; > > As you can see E1000_TX_WEIGHT threshold exists today and you are right > if no TX interupts, packet arrivals or scheduled wakes happen the that > descriptor that was not pruned will sit there forever (which is a bad > thing for TCP). Are we in sync? > If yes, what is the likelihood they will sit there forever? I think > perhaps some TX interupts will happen, no?
I thought this code is only used for NAPI so as long as work was done it'll keep calling this. One thing I'm not sure about though is the time between it decides that there is no work and the point where the interrupts are reenabled. What if work arrives in that time and no work ever arrives after the interrupts are turned on again? Does that mean the work will sit there forever? 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