Skip to content

Commit

Permalink
rcu: avoid pointless blocked-task warnings
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Paul E. McKenney authored and Paul E. McKenney committed Jan 14, 2011
1 parent c072a38 commit b24efdf
Showing 1 changed file with 2 additions and 1 deletion.
3 changes: 2 additions & 1 deletion kernel/rcutiny.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down

0 comments on commit b24efdf

Please sign in to comment.