1
linux/net/core
Jarek Poplawski 0b5d404e34 pkt_sched: Fix lockdep warning on est_tree_lock in gen_estimator
This patch fixes a lockdep warning:

[  516.287584] =========================================================
[  516.288386] [ INFO: possible irq lock inversion dependency detected ]
[  516.288386] 2.6.35b #7
[  516.288386] ---------------------------------------------------------
[  516.288386] swapper/0 just changed the state of lock:
[  516.288386]  (&qdisc_tx_lock){+.-...}, at: [<c12eacda>] est_timer+0x62/0x1b4
[  516.288386] but this lock took another, SOFTIRQ-unsafe lock in the past:
[  516.288386]  (est_tree_lock){+.+...}
[  516.288386] 
[  516.288386] and interrupts could create inverse lock ordering between them.
...

So, est_tree_lock needs BH protection because it's taken by
qdisc_tx_lock, which is used both in BH and process contexts.
(Full warning with this patch at netdev, 02 Sep 2010.)

Fixes commit: ae638c47dc
("pkt_sched: gen_estimator: add a new lock")

Signed-off-by: Jarek Poplawski <jarkao2@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2010-09-02 13:22:11 -07:00
..
datagram.c net/core: EXPORT_SYMBOL cleanups 2010-07-12 12:57:55 -07:00
dev_addr_lists.c net: include linux/proc_fs.h in dev_addr_lists.c 2010-04-07 16:46:36 -07:00
dev.c net: Fix a memmove bug in dev_gro_receive() 2010-08-17 17:37:28 -07:00
drop_monitor.c drop_monitor: use genl_register_family_with_ops() 2010-07-26 20:59:42 -07:00
dst.c __dst_free(): put EXPORT_SYMBOLS after the fct 2010-07-20 13:28:03 -07:00
ethtool.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2010-07-07 15:59:38 -07:00
fib_rules.c net: fib_rules: mark arguments to fib_rules_register const and __net_initdata 2010-04-26 16:02:04 +02:00
filter.c net: optimize Berkeley Packet Filter (BPF) processing 2010-06-25 21:33:12 -07:00
flow.c net/core: EXPORT_SYMBOL cleanups 2010-07-12 12:57:55 -07:00
gen_estimator.c pkt_sched: Fix lockdep warning on est_tree_lock in gen_estimator 2010-09-02 13:22:11 -07:00
gen_stats.c net/core: EXPORT_SYMBOL cleanups 2010-07-12 12:57:55 -07:00
iovec.c net/core: EXPORT_SYMBOL cleanups 2010-07-12 12:57:55 -07:00
kmap_skb.h
link_watch.c net/core: EXPORT_SYMBOL cleanups 2010-07-12 12:57:55 -07:00
Makefile net: support time stamping in phy devices. 2010-07-18 19:15:26 -07:00
neighbour.c net/core: neighbour update Oops 2010-07-14 18:02:16 -07:00
net_namespace.c net: disallow to use net_assign_generic externally 2010-04-27 15:49:02 -07:00
net-sysfs.c sysfs: add attribute to indicate hw address assignment type 2010-07-24 20:49:29 -07:00
net-sysfs.h net: Expose all network devices in a namespaces in sysfs 2010-05-21 09:37:34 -07:00
net-traces.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
netevent.c net/core: EXPORT_SYMBOL cleanups 2010-07-12 12:57:55 -07:00
netpoll.c Revert "net: remove zap_completion_queue" 2010-08-03 00:24:04 -07:00
pktgen.c net: core: don't use own hex_to_bin() method 2010-07-23 12:50:51 -07:00
request_sock.c
rtnetlink.c net/core: EXPORT_SYMBOL cleanups 2010-07-12 12:57:55 -07:00
scm.c net/core: EXPORT_SYMBOL cleanups 2010-07-12 12:57:55 -07:00
skbuff.c gro: fix different skb headrooms 2010-09-01 19:17:35 -07:00
sock.c net: this_cpu_xxx conversions 2010-07-19 15:12:51 -07:00
stream.c net/core: EXPORT_SYMBOL cleanups 2010-07-12 12:57:55 -07:00
sysctl_net_core.c net: Consistent skb timestamping 2010-05-15 23:57:10 -07:00
timestamping.c net: support time stamping in phy devices. 2010-07-18 19:15:26 -07:00
user_dma.c net/core/user_dma.c: Use frag list abstraction interfaces. 2009-06-09 00:19:10 -07:00
utils.c net/core: EXPORT_SYMBOL cleanups 2010-07-12 12:57:55 -07:00