diff options
author | Paul E. McKenney <paul.mckenney@linaro.org> | 2011-10-31 18:01:54 -0400 |
---|---|---|
committer | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2011-12-11 13:31:42 -0500 |
commit | 4145fa7fbee3ec1e61c52825b146192885d9759f (patch) | |
tree | 58e0767a59bf110acb99da3fb5c1f0f0b5170be8 /include/trace | |
parent | 9ceae0e248fb553c702d51d5275167d462f4efd2 (diff) |
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 'include/trace')
-rw-r--r-- | include/trace/events/rcu.h | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/include/trace/events/rcu.h b/include/trace/events/rcu.h index 172620a92b1a..c29fb2f55909 100644 --- a/include/trace/events/rcu.h +++ b/include/trace/events/rcu.h | |||
@@ -246,21 +246,24 @@ TRACE_EVENT(rcu_fqs, | |||
246 | */ | 246 | */ |
247 | TRACE_EVENT(rcu_dyntick, | 247 | TRACE_EVENT(rcu_dyntick, |
248 | 248 | ||
249 | TP_PROTO(char *polarity, int nesting), | 249 | TP_PROTO(char *polarity, long long oldnesting, long long newnesting), |
250 | 250 | ||
251 | TP_ARGS(polarity, nesting), | 251 | TP_ARGS(polarity, oldnesting, newnesting), |
252 | 252 | ||
253 | TP_STRUCT__entry( | 253 | TP_STRUCT__entry( |
254 | __field(char *, polarity) | 254 | __field(char *, polarity) |
255 | __field(int, nesting) | 255 | __field(long long, oldnesting) |
256 | __field(long long, newnesting) | ||
256 | ), | 257 | ), |
257 | 258 | ||
258 | TP_fast_assign( | 259 | TP_fast_assign( |
259 | __entry->polarity = polarity; | 260 | __entry->polarity = polarity; |
260 | __entry->nesting = nesting; | 261 | __entry->oldnesting = oldnesting; |
262 | __entry->newnesting = newnesting; | ||
261 | ), | 263 | ), |
262 | 264 | ||
263 | TP_printk("%s %d", __entry->polarity, __entry->nesting) | 265 | TP_printk("%s %llx %llx", __entry->polarity, |
266 | __entry->oldnesting, __entry->newnesting) | ||
264 | ); | 267 | ); |
265 | 268 | ||
266 | /* | 269 | /* |
@@ -470,7 +473,7 @@ TRACE_EVENT(rcu_torture_read, | |||
470 | #define trace_rcu_unlock_preempted_task(rcuname, gpnum, pid) do { } while (0) | 473 | #define trace_rcu_unlock_preempted_task(rcuname, gpnum, pid) do { } while (0) |
471 | #define trace_rcu_quiescent_state_report(rcuname, gpnum, mask, qsmask, level, grplo, grphi, gp_tasks) do { } while (0) | 474 | #define trace_rcu_quiescent_state_report(rcuname, gpnum, mask, qsmask, level, grplo, grphi, gp_tasks) do { } while (0) |
472 | #define trace_rcu_fqs(rcuname, gpnum, cpu, qsevent) do { } while (0) | 475 | #define trace_rcu_fqs(rcuname, gpnum, cpu, qsevent) do { } while (0) |
473 | #define trace_rcu_dyntick(polarity, nesting) do { } while (0) | 476 | #define trace_rcu_dyntick(polarity, oldnesting, newnesting) do { } while (0) |
474 | #define trace_rcu_callback(rcuname, rhp, qlen) do { } while (0) | 477 | #define trace_rcu_callback(rcuname, rhp, qlen) do { } while (0) |
475 | #define trace_rcu_kfree_callback(rcuname, rhp, offset, qlen) do { } while (0) | 478 | #define trace_rcu_kfree_callback(rcuname, rhp, offset, qlen) do { } while (0) |
476 | #define trace_rcu_batch_start(rcuname, qlen, blimit) do { } while (0) | 479 | #define trace_rcu_batch_start(rcuname, qlen, blimit) do { } while (0) |