]> git.baikalelectronics.ru Git - kernel.git/commit
pkt_sched: Add queue stopped test back to qdisc_run().
authorDavid S. Miller <davem@davemloft.net>
Wed, 13 Aug 2008 09:13:34 +0000 (02:13 -0700)
committerDavid S. Miller <davem@davemloft.net>
Wed, 13 Aug 2008 09:13:34 +0000 (02:13 -0700)
commit8010e6b67a0c56e04d76534e37ec73c8f417a337
tree6e3c252967f33b76a60585c2702878c153649fbc
parentec7a85b0614542c28bc0a7b7ed342b7001a8fd5f
pkt_sched: Add queue stopped test back to qdisc_run().

Based upon a bug report by Andrew Gallatin on netdev
with subject "CPU utilization increased in 2.6.27rc"

In commit c0e778360be625ce45367d483834e144440a854d
("pkt_sched: Schedule qdiscs instead of netdev_queue.")
the test of the queue being stopped was erroneously
removed from qdisc_run().

When the TX queue of the device fills up, this omission
causes lots of extraneous useless work to be queued up
to softirq context, where we'll just return immediately
because the device is still stuffed up.

Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/pkt_sched.h