rcu: Only dump stalled-tasks stacks if there was a real stall
authorByungchul Park <byungchul.park@lge.com>
Wed, 9 Nov 2016 08:57:13 +0000 (17:57 +0900)
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Mon, 23 Jan 2017 19:32:22 +0000 (11:32 -0800)
commitc4402b27f1778fad0dbc27b2d88bb06ca22a06f0
tree5dbdefa7e7b390a9971246f0541673a563467d2a
parent907565337ebf998a68cb5c5b2174ce5e5da065eb
rcu: Only dump stalled-tasks stacks if there was a real stall

The print_other_cpu_stall() function currently unconditionally invokes
rcu_print_detail_task_stall().  This is OK because if there was a stall
sufficient to cause print_other_cpu_stall() to be invoked, that stall
is very likely to persist through the entire print_other_cpu_stall()
execution.  However, if the stall did not persist, the variable ndetected
will be zero, and that variable is already tested in an "if" statement.
Therefore, this commit moves the call to rcu_print_detail_task_stall()
under that pre-existing "if" to improve readability, with a very rare
reduction in overhead.

Signed-off-by: Byungchul Park <byungchul.park@lge.com>
[ paulmck: Reworked commit log. ]
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Reviewed-by: Josh Triplett <josh@joshtriplett.org>
kernel/rcu/tree.c