From: Steven Rostedt (VMware) <[email protected]> At the end of rcu_tasks_kthread() there's a lonely schedule_timeout_uninterruptible() call with no apparent rationale for its existence. But there is. It is to keep the thread from going into a tight loop if there's some anomaly. That really needs a comment.
Link: http://lkml.kernel.org/r/[email protected] Signed-off-by: Steven Rostedt (VMware) <[email protected]> --- diff --git a/kernel/rcu/update.c b/kernel/rcu/update.c index 68fa19a5e7bd..e332ee52805d 100644 --- a/kernel/rcu/update.c +++ b/kernel/rcu/update.c @@ -848,6 +861,7 @@ static int __noreturn rcu_tasks_kthread(void *arg) list = next; cond_resched(); } + /* Paranoid sleep to keep this from entering a tight loop */ schedule_timeout_uninterruptible(HZ/10); } }

