summaryrefslogtreecommitdiffstats
path: root/kernel/rcu.h
diff options
context:
space:
mode:
authorPaul E. McKenney <paul.mckenney@linaro.org>2011-10-31 15:01:54 -0700
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>2011-12-11 10:31:42 -0800
commit4145fa7fbee3ec1e61c52825b146192885d9759f (patch)
tree58e0767a59bf110acb99da3fb5c1f0f0b5170be8 /kernel/rcu.h
parent9ceae0e248fb553c702d51d5275167d462f4efd2 (diff)
downloadlinux-4145fa7fbee3ec1e61c52825b146192885d9759f.tar.gz
linux-4145fa7fbee3ec1e61c52825b146192885d9759f.tar.bz2
linux-4145fa7fbee3ec1e61c52825b146192885d9759f.zip
rcu: Deconfuse dynticks entry-exit tracing
The trace_rcu_dyntick() trace event did not print both the old and the new value of the nesting level, and furthermore printed only the low-order 32 bits of it. This could result in some confusion when interpreting trace-event dumps, so this commit prints both the old and the new value, prints the full 64 bits, and also selects the process-entry/exit increment to print nicely in hexadecimal. 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>
Diffstat (limited to 'kernel/rcu.h')
-rw-r--r--kernel/rcu.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/kernel/rcu.h b/kernel/rcu.h
index f600868d550d..aa88baab5f78 100644
--- a/kernel/rcu.h
+++ b/kernel/rcu.h
@@ -30,6 +30,13 @@
#endif /* #else #ifdef CONFIG_RCU_TRACE */
/*
+ * Process-level increment to ->dynticks_nesting field. This allows for
+ * architectures that use half-interrupts and half-exceptions from
+ * process context.
+ */
+#define DYNTICK_TASK_NESTING (LLONG_MAX / 2 - 1)
+
+/*
* debug_rcu_head_queue()/debug_rcu_head_unqueue() are used internally
* by call_rcu() and rcu callback execution, and are therefore not part of the
* RCU API. Leaving in rcupdate.h because they are used by all RCU flavors.