pkt_sched: Fix lockdep warning on est_tree_lock in gen_estimator
authorJarek Poplawski <jarkao2@gmail.com>
Thu, 2 Sep 2010 20:22:11 +0000 (13:22 -0700)
committerDavid S. Miller <davem@davemloft.net>
Thu, 2 Sep 2010 20:22:11 +0000 (13:22 -0700)
commit0b5d404e349c0236b11466c0a4785520c0be6982
treef4e51049b1433982591204dd67d158ee84808ace
parent7bcbf81a2296a8f71342445560dcbe16100b567c
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: ae638c47dc040b8def16d05dc6acdd527628f231
("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>
net/core/gen_estimator.c