linux/net
David S. Miller 195648bbc5 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>
2008-08-19 04:00:36 -07:00
..
9p
802
8021q
appletalk
atm atm: fix const assignment/discard warnings in the ATM networking driver 2008-07-30 16:31:46 -07:00
ax25 AX.25: Fix sysctl registration if !CONFIG_AX25_DAMA_SLAVE 2008-08-05 18:46:57 -07:00
bluetooth [Bluetooth] Consolidate maintainers information 2008-08-18 13:23:53 +02:00
bridge bridge: show offload settings 2008-08-15 19:51:07 -07:00
can
core pkt_sched: Prevent livelock in TX queue running. 2008-08-19 04:00:36 -07:00
dccp dccp: Fix panic caused by too early termination of retransmission mechanism 2008-08-18 21:14:20 -07:00
decnet
econet
ethernet
ieee80211
ipv4 nf_nat: use secure_ipv4_port_ephemeral() for NAT port randomization 2008-08-18 21:32:32 -07:00
ipv6 ipv6: Fix the return interface index when get it while no message is received. 2008-08-17 23:21:52 -07:00
ipx
irda
iucv
key
lapb
llc
mac80211 mac80211: update new sta's rx timestamp 2008-08-18 11:05:13 -04:00
netfilter netfilter: ctnetlink: sleepable allocation with spin lock bh 2008-08-18 21:31:46 -07:00
netlabel
netlink
netrom
packet
rfkill rfkill: protect suspended rfkill controllers 2008-08-18 11:05:12 -04:00
rose
rxrpc net/rxrpc: Use an IS_ERR test rather than a NULL test 2008-08-13 02:40:48 -07:00
sched Revert "pkt_sched: Add BH protection for qdisc_stab_lock." 2008-08-18 22:33:05 -07:00
sctp netns: Add network namespace argument to rt6_fill_node() and ipv6_dev_get_saddr() 2008-08-14 15:33:21 -07:00
sunrpc Merge branch 'linus' into cpus4096 2008-07-28 21:14:43 +02:00
tipc net/tipc/subscr.c: don't use ___constant_swab32 2008-08-13 02:32:06 -07:00
unix Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 2008-07-26 20:23:44 -07:00
wanrouter
wireless wext: Send name on events 2008-08-13 02:39:56 -07:00
x25
xfrm xfrm: remove unnecessary variable in xfrm_output_resume() 2nd try 2008-08-13 13:35:37 -07:00
compat.c
Kconfig net: Make "networking" one-click deselectable. 2008-07-30 03:27:53 -07:00
Makefile
nonet.c
socket.c
sysctl_net.c missing bits of net-namespace / sysctl 2008-07-27 09:45:34 -07:00
TUNABLE