rcu: Make expedited RCU-preempt stall warnings count accurately
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Wed, 13 Jan 2016 18:52:35 +0000 (10:52 -0800)
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Thu, 31 Mar 2016 20:34:03 +0000 (13:34 -0700)
commit251c617c75f48e03523c43c4ce1dff44bc3ae2bd
tree62be528b88376633dbb9c6d85aacf59948678aa5
parent28728dd310d48834cd486dac3cac9ae96b9deb96
rcu: Make expedited RCU-preempt stall warnings count accurately

Currently, synchronize_sched_expedited_wait() simply sets the ndetected
variable to the rcu_print_task_exp_stall() return value.  This means
that if the last rcu_node structure has no stalled tasks, record of
any stalled tasks in previous rcu_node structures is lost, which can
in turn result in failure to dump out the blocking rcu_node structures.
Or could, had the test been correct.

This commit therefore adds the return value of rcu_print_task_exp_stall()
to ndetected and corrects the later test for ndetected.

Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
kernel/rcu/tree.c