rcu: Separate accounting of callbacks from callback-free CPUs
authorPaul E. McKenney <paul.mckenney@linaro.org>
Mon, 29 Oct 2012 14:29:20 +0000 (07:29 -0700)
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Fri, 16 Nov 2012 18:05:57 +0000 (10:05 -0800)
commitc635a4e1c24e9396db10ed7424b2084908b32252
treeac1cced2e0c05d5edcd74af6d3493e15e99a7cec
parent3fbfbf7a3b66ec424042d909f14ba2ddf4372ea8
rcu: Separate accounting of callbacks from callback-free CPUs

Currently, callback invocations from callback-free CPUs are accounted to
the CPU that registered the callback, but using the same field that is
used for normal callbacks.  This makes it impossible to determine from
debugfs output whether callbacks are in fact being diverted.  This commit
therefore adds a separate ->n_nocbs_invoked field in the rcu_data structure
in which diverted callback invocations are counted.  RCU's debugfs tracing
still displays normal callback invocations using ci=, but displayed
diverted callbacks with nci=.

Signed-off-by: Paul E. McKenney <paul.mckenney@linaro.org>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
kernel/rcutree.h
kernel/rcutree_plugin.h
kernel/rcutree_trace.c