diff options
author | Paul E. McKenney <paul.mckenney@linaro.org> | 2011-01-12 14:18:11 -0800 |
---|---|---|
committer | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2011-01-14 04:58:08 -0800 |
commit | b24efdfdf679cf9b05947c531971905fc727dd40 (patch) | |
tree | 06d8532819315ad0aa84d8ff64a1d35901b018fb /kernel | |
parent | c072a388d59a1d48e36864d0e66f42d71745be1c (diff) | |
download | linux-b24efdfdf679cf9b05947c531971905fc727dd40.tar.gz linux-b24efdfdf679cf9b05947c531971905fc727dd40.tar.bz2 linux-b24efdfdf679cf9b05947c531971905fc727dd40.zip |
rcu: avoid pointless blocked-task warnings
If the RCU callback-processing kthread has nothing to do, it parks in
a wait_event(). If RCU remains idle for more than two minutes, the
kernel complains about this. This commit changes from wait_event()
to wait_event_interruptible() to prevent the kernel from complaining
just because RCU is idle.
Reported-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Paul E. McKenney <paul.mckenney@linaro.org>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Tested-by: Thomas Weber <weber@corscience.de>
Tested-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/rcutiny.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/kernel/rcutiny.c b/kernel/rcutiny.c index 034493724749..0c343b9a46d5 100644 --- a/kernel/rcutiny.c +++ b/kernel/rcutiny.c @@ -189,7 +189,8 @@ static int rcu_kthread(void *arg) unsigned long flags; for (;;) { - wait_event(rcu_kthread_wq, have_rcu_kthread_work != 0); + wait_event_interruptible(rcu_kthread_wq, + have_rcu_kthread_work != 0); morework = rcu_boost(); local_irq_save(flags); work = have_rcu_kthread_work; |