summaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2008-08-19 13:00:36 +0200
committerDavid S. Miller <davem@davemloft.net>2008-08-19 13:00:36 +0200
commit195648bbc5ae0848e82f771ecf4cd7497054c212 (patch)
tree644bc8685cab5f83225558888a4398cd0c93c919 /Documentation
parentMerge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/holtma... (diff)
downloadlinux-195648bbc5ae0848e82f771ecf4cd7497054c212.tar.xz
linux-195648bbc5ae0848e82f771ecf4cd7497054c212.zip
pkt_sched: Prevent livelock in TX queue running.
If dev_deactivate() is trying to quiesce the queue, it is theoretically possible for another cpu to livelock trying to process that queue. This happens because dev_deactivate() grabs the queue spinlock as it checks the queue state, whereas net_tx_action() does a trylock and reschedules the qdisc if it hits the lock. This breaks the livelock by adding a check on __QDISC_STATE_DEACTIVATED to net_tx_action() when the trylock fails. Based upon feedback from Herbert Xu and Jarek Poplawski. Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'Documentation')
0 files changed, 0 insertions, 0 deletions