From 808162f3151d92aa0e33e6b1ec8183bf83ba241d Mon Sep 17 00:00:00 2001 From: "Paul E. McKenney" Date: Mon, 16 May 2011 02:52:04 -0700 Subject: [PATCH] --- yaml --- r: 252673 b: refs/heads/master c: b5904090c754327ed6c2ecaefed4f7d473df393f h: refs/heads/master i: 252671: 313509f13bc801da6527a4236237b079a90fe4a5 v: v3 --- [refs] | 2 +- trunk/kernel/rcutree.c | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index f5994789f22d..7ca3f8765373 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 1135633bddcf7a819a1490c18d04965c490bcc1e +refs/heads/master: b5904090c754327ed6c2ecaefed4f7d473df393f diff --git a/trunk/kernel/rcutree.c b/trunk/kernel/rcutree.c index 011bf6f261a2..195b3a3313e3 100644 --- a/trunk/kernel/rcutree.c +++ b/trunk/kernel/rcutree.c @@ -421,8 +421,9 @@ void rcu_irq_exit(void) WARN_ON_ONCE(rdtp->dynticks & 0x1); /* If the interrupt queued a callback, get out of dyntick mode. */ - if (__this_cpu_read(rcu_sched_data.nxtlist) || - __this_cpu_read(rcu_bh_data.nxtlist)) + if (in_irq() && + (__this_cpu_read(rcu_sched_data.nxtlist) || + __this_cpu_read(rcu_bh_data.nxtlist))) set_need_resched(); }