diff options
author | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2010-02-22 17:47:45 -0800 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2010-02-23 17:16:28 +0100 |
commit | a40c206147b9c79d65c59edc5b9df874c88f1fb5 (patch) | |
tree | 93d040a81477f6878db7b30c189d4f12fa6cf505 /include/linux/inet_lro.h | |
parent | 6aa4659865454a3885195aa49348c46a69e6bee2 (diff) | |
download | lwn-a40c206147b9c79d65c59edc5b9df874c88f1fb5.tar.gz lwn-a40c206147b9c79d65c59edc5b9df874c88f1fb5.zip |
rcu: fix deadlock in TREE_PREEMPT_RCU CPU stall detection
Under TREE_PREEMPT_RCU, print_other_cpu_stall() invokes
rcu_print_task_stall() with the root rcu_node structure's ->lock held,
and rcu_print_task_stall() acquires that same lock for self-deadlock.
Fix this by removing the lock acquisition from rcu_print_task_stall(),
and making all callers acquire the lock instead.
Tested-by: John Kacur <jkacur@redhat.com>
Tested-by: Thomas Gleixner <tglx@linutronix.de>
Located-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
LKML-Reference: <1266889666-3471-1-git-send-email-paulmck@linux.vnet.ibm.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'include/linux/inet_lro.h')
0 files changed, 0 insertions, 0 deletions