rcu: add callback-queue information to rcudata output
authorPaul E. McKenney <paul.mckenney@linaro.org>
Mon, 28 Mar 2011 22:47:07 +0000 (15:47 -0700)
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Fri, 6 May 2011 06:16:56 +0000 (23:16 -0700)
commit0ac3d136b2e3cdf1161178223bc5da14a06241d0
tree20ba3f20014425404b3dbcb5dfdd4410d87f879a
parent2fa218d8bbcff239302f9f36e19d7187077dd636
rcu: add callback-queue information to rcudata output

This commit adds an indication of the state of the callback queue using
a string of four characters following the "ql=" integer queue length.
The first character is "N" if there are callbacks that have been
queued that are not yet ready to be handled by the next grace period, or
"." otherwise.  The second character is "R" if there are callbacks queued
that are ready to be handled by the next grace period, or "." otherwise.
The third character is "W" if there are callbacks waiting for the current
grace period, or "." otherwise.  Finally, the fourth character is "D"
if there are callbacks that have been handled by a prior grace period
and are waiting to be invoked, or ".".

Note that callbacks that are in the process of being invoked are
not shown.  These callbacks would have been removed from the rcu_data
structure's list by rcu_do_batch() prior to being executed.  (These
callbacks are also not reflected in the "ql=" total, FWIW.)

Also, document the new callback-queue trace information.

Signed-off-by: Paul E. McKenney <paul.mckenney@linaro.org>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Reviewed-by: Josh Triplett <josh@joshtriplett.org>
Documentation/RCU/trace.txt
kernel/rcutree_trace.c