diff options
author | Mandeep Singh Baines <msb@google.com> | 2009-02-05 09:56:08 -0800 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-02-05 19:55:31 +0100 |
commit | 94be52dc075a32af4aa73d7e10f68734d62d6af2 (patch) | |
tree | 70e4f2bf93dda15a27b79baf49bbfd3fc5982ba1 /kernel/hung_task.c | |
parent | ce9dbe244bf2063c41792e40dae7745957b118e0 (diff) |
softlockup: convert read_lock in hung_task to rcu_read_lock
Since the tasklist is protected by rcu list operations, it is safe
to convert the read_lock()s to rcu_read_lock().
Suggested-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Mandeep Singh Baines <msb@google.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'kernel/hung_task.c')
-rw-r--r-- | kernel/hung_task.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/kernel/hung_task.c b/kernel/hung_task.c index 481ca8b5c2b..3951a80e7cb 100644 --- a/kernel/hung_task.c +++ b/kernel/hung_task.c @@ -155,7 +155,7 @@ static void check_hung_uninterruptible_tasks(unsigned long timeout) if (test_taint(TAINT_DIE) || did_panic) return; - read_lock(&tasklist_lock); + rcu_read_lock(); do_each_thread(g, t) { if (!--max_count) goto unlock; @@ -171,7 +171,7 @@ static void check_hung_uninterruptible_tasks(unsigned long timeout) check_hung_task(t, now, timeout); } while_each_thread(g, t); unlock: - read_unlock(&tasklist_lock); + rcu_read_unlock(); } static void update_poll_jiffies(void) |