sfc: Remove ancient support for nesting of TX stop
authorBen Hutchings <bhutchings@solarflare.com>
Fri, 10 Dec 2010 01:24:16 +0000 (01:24 +0000)
committerBen Hutchings <bhutchings@solarflare.com>
Fri, 10 Dec 2010 19:53:46 +0000 (19:53 +0000)
commitc04bfc6b223662c42a77727342c1df7d39e686a2
tree96f8623e13366b677f8437ba678f617231942d58
parent6ecfd0c70c05531b2850649d0cec46833cd6c381
sfc: Remove ancient support for nesting of TX stop

Long before this driver went into mainline, it had support for
multiple TX queues per port, with lockless TX enabled.  Since Linux
did not know anything of this, filling up any hardware TX queue would
stop the core TX queue and multiple hardware TX queues could fill up
before the scheduler reacted.  Thus it was necessary to keep a count
of how many TX queues were stopped and to wake the core TX queue only
when all had free space again.

The driver also previously (ab)used the per-hardware-queue stopped
flag as a counter to deal with various things that can inhibit TX, but
it no longer does that.

Remove the per-channel tx_stop_count, tx_stop_lock and
per-hardware-queue stopped count and just use the networking core
queue state directly.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
drivers/net/sfc/efx.c
drivers/net/sfc/efx.h
drivers/net/sfc/net_driver.h
drivers/net/sfc/tx.c