diff options
author | Paul E. McKenney <paul.mckenney@linaro.org> | 2011-06-21 04:14:54 -0400 |
---|---|---|
committer | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2011-09-29 00:38:15 -0400 |
commit | 72fe701b70e6ced35d734b676c13efbc8fc769a9 (patch) | |
tree | 87bece8406b18e27409a33355c384c9f759915ae /include/trace | |
parent | e99033c5c160f1f247c665923a66acec693a967c (diff) |
rcu: Add RCU type to callback-invocation tracing
Add a string to the rcu_batch_start() and rcu_batch_end() trace
messages that indicates the RCU type ("rcu_sched", "rcu_bh", or
"rcu_preempt"). The trace messages for the actual invocations
themselves are not marked, as it should be clear from the
rcu_batch_start() and rcu_batch_end() events before and after.
Signed-off-by: Paul E. McKenney <paul.mckenney@linaro.org>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Diffstat (limited to 'include/trace')
-rw-r--r-- | include/trace/events/rcu.h | 28 |
1 files changed, 18 insertions, 10 deletions
diff --git a/include/trace/events/rcu.h b/include/trace/events/rcu.h index ab458eb689fb..508824e5a77d 100644 --- a/include/trace/events/rcu.h +++ b/include/trace/events/rcu.h | |||
@@ -33,27 +33,31 @@ TRACE_EVENT(rcu_utilization, | |||
33 | 33 | ||
34 | /* | 34 | /* |
35 | * Tracepoint for marking the beginning rcu_do_batch, performed to start | 35 | * Tracepoint for marking the beginning rcu_do_batch, performed to start |
36 | * RCU callback invocation. The first argument is the total number of | 36 | * RCU callback invocation. The first argument is the RCU flavor, |
37 | * callbacks (including those that are not yet ready to be invoked), | 37 | * the second is the total number of callbacks (including those that |
38 | * and the second argument is the current RCU-callback batch limit. | 38 | * are not yet ready to be invoked), and the third argument is the |
39 | * current RCU-callback batch limit. | ||
39 | */ | 40 | */ |
40 | TRACE_EVENT(rcu_batch_start, | 41 | TRACE_EVENT(rcu_batch_start, |
41 | 42 | ||
42 | TP_PROTO(long qlen, int blimit), | 43 | TP_PROTO(char *rcuname, long qlen, int blimit), |
43 | 44 | ||
44 | TP_ARGS(qlen, blimit), | 45 | TP_ARGS(rcuname, qlen, blimit), |
45 | 46 | ||
46 | TP_STRUCT__entry( | 47 | TP_STRUCT__entry( |
48 | __field(char *, rcuname) | ||
47 | __field(long, qlen) | 49 | __field(long, qlen) |
48 | __field(int, blimit) | 50 | __field(int, blimit) |
49 | ), | 51 | ), |
50 | 52 | ||
51 | TP_fast_assign( | 53 | TP_fast_assign( |
54 | __entry->rcuname = rcuname; | ||
52 | __entry->qlen = qlen; | 55 | __entry->qlen = qlen; |
53 | __entry->blimit = blimit; | 56 | __entry->blimit = blimit; |
54 | ), | 57 | ), |
55 | 58 | ||
56 | TP_printk("CBs=%ld bl=%d", __entry->qlen, __entry->blimit) | 59 | TP_printk("%s CBs=%ld bl=%d", |
60 | __entry->rcuname, __entry->qlen, __entry->blimit) | ||
57 | ); | 61 | ); |
58 | 62 | ||
59 | /* | 63 | /* |
@@ -106,23 +110,27 @@ TRACE_EVENT(rcu_invoke_kfree_callback, | |||
106 | 110 | ||
107 | /* | 111 | /* |
108 | * Tracepoint for exiting rcu_do_batch after RCU callbacks have been | 112 | * Tracepoint for exiting rcu_do_batch after RCU callbacks have been |
109 | * invoked. The first argument is the number of callbacks actually invoked. | 113 | * invoked. The first argument is the name of the RCU flavor and |
114 | * the second argument is number of callbacks actually invoked. | ||
110 | */ | 115 | */ |
111 | TRACE_EVENT(rcu_batch_end, | 116 | TRACE_EVENT(rcu_batch_end, |
112 | 117 | ||
113 | TP_PROTO(int callbacks_invoked), | 118 | TP_PROTO(char *rcuname, int callbacks_invoked), |
114 | 119 | ||
115 | TP_ARGS(callbacks_invoked), | 120 | TP_ARGS(rcuname, callbacks_invoked), |
116 | 121 | ||
117 | TP_STRUCT__entry( | 122 | TP_STRUCT__entry( |
123 | __field(char *, rcuname) | ||
118 | __field(int, callbacks_invoked) | 124 | __field(int, callbacks_invoked) |
119 | ), | 125 | ), |
120 | 126 | ||
121 | TP_fast_assign( | 127 | TP_fast_assign( |
128 | __entry->rcuname = rcuname; | ||
122 | __entry->callbacks_invoked = callbacks_invoked; | 129 | __entry->callbacks_invoked = callbacks_invoked; |
123 | ), | 130 | ), |
124 | 131 | ||
125 | TP_printk("CBs-invoked=%d", __entry->callbacks_invoked) | 132 | TP_printk("%s CBs-invoked=%d", |
133 | __entry->rcuname, __entry->callbacks_invoked) | ||
126 | ); | 134 | ); |
127 | 135 | ||
128 | #endif /* _TRACE_RCU_H */ | 136 | #endif /* _TRACE_RCU_H */ |