On Mon, 7 Aug 2006, 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?
we don't enable it right now, but you could use the TXQE (tx queue empty) interrupt to avoid the starvation case. I think it might flood you with TXQE interrupts however, so we'd probably have to figure out some way to turn it on occasionally. Jesse - 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