Stephen Hemminger wrote:
On Tue, 19 Sep 2006 16:45:06 -0400
Jeff Garzik <[EMAIL PROTECTED]> wrote:

looks OK except for the tasklet, which may starve if the lock is being held upon entry



Why would the tasklet starve anymore than NAPI?
Worst case, the transmitters fill the ring completely and have to
wait for the tasklet to clean up.

Maybe it would be better to always to Tx cleanup in tasklet even with
NAPI. Then the NAPI poll flow control would be used only for Rx.
As it stands, if receiver gets swamped, the poll doesn't get run often,
so the transmitter cleanup doesn't get run. A tasklet has the advantage
of eliminating the need for adapter->tx_queue_lock as well.

I gave it a spin and it looks horrible with NAPI - the box almost freezes up with even 2 clients. Minor nitpick: you forgot to delete a spin_lock_irqsave() call but gcc would have spotted that for you. Unsurprisingly it's more stable without NAPI.

I'm unsure (not enough knowlege) why you would prefer to remove lltx - care to enlighten me?

Cheers,

Auke
-
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

Reply via email to