aboutsummaryrefslogtreecommitdiffstats
path: root/include/trace
diff options
context:
space:
mode:
authorPaul E. McKenney <paul.mckenney@linaro.org>2011-06-21 04:14:54 -0400
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>2011-09-29 00:38:15 -0400
commit72fe701b70e6ced35d734b676c13efbc8fc769a9 (patch)
tree87bece8406b18e27409a33355c384c9f759915ae /include/trace
parente99033c5c160f1f247c665923a66acec693a967c (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.h28
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 */
40TRACE_EVENT(rcu_batch_start, 41TRACE_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 */
111TRACE_EVENT(rcu_batch_end, 116TRACE_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 */