+#ifdef CONFIG_E1000_NAPI
+#define E1000_TX_WEIGHT 64
+ /* weight of a sort for tx, to avoid endless transmit cleanup
*/
+ if (count++ == E1000_TX_WEIGHT) break;
+#endif
If you hit the 'break' statement, are you guaranteed a TX interrupt or some
other event that ensures this code will be called again? If yes, what?
Otherwise patches 12-19 look OK.
no, you aren't guaranteed an interrupt, but due to the
if ((!tx_cleaned && (work_done == 0) ...
in e1000_clean, you'll keep going back through the transmit cleanup (and
keep scheduling e1000_clean) until they're all done.
This change helped in the case where we're doing mostly transmits, and
also in the multi-port line rate bi-directional test.
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