diff options
author | Steven Rostedt (Red Hat) <rostedt@goodmis.org> | 2015-03-27 16:31:44 -0400 |
---|---|---|
committer | Steven Rostedt <rostedt@goodmis.org> | 2015-04-08 09:40:00 -0400 |
commit | f0a91b3caa053c9964f1d1e6941f0963d002a670 (patch) | |
tree | 57148dc7a1b97779a48871b0c656a289d3845b3e /include/trace | |
parent | 5511b9a471f3bb2f1cd5d7bf6b4191403e49315e (diff) |
irq/tracing: Export enums in tracepoints to user space
The enums used by the softirq mapping is what is shown in the output
of the __print_symbolic() and not their values, that are needed
to map them to their strings. Export them to userspace with the
TRACE_DEFINE_ENUM() macro so that user space tools can map the enums
with their values.
Link: http://lkml.kernel.org/r/20150403013802.220157513@goodmis.org
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Ingo Molnar <mingo@kernel.org>
Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Tested-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Diffstat (limited to 'include/trace')
-rw-r--r-- | include/trace/events/irq.h | 39 |
1 files changed, 27 insertions, 12 deletions
diff --git a/include/trace/events/irq.h b/include/trace/events/irq.h index 3608bebd3d9c..ff8f6c091a15 100644 --- a/include/trace/events/irq.h +++ b/include/trace/events/irq.h | |||
@@ -9,19 +9,34 @@ | |||
9 | struct irqaction; | 9 | struct irqaction; |
10 | struct softirq_action; | 10 | struct softirq_action; |
11 | 11 | ||
12 | #define softirq_name(sirq) { sirq##_SOFTIRQ, #sirq } | 12 | #define SOFTIRQ_NAME_LIST \ |
13 | softirq_name(HI) \ | ||
14 | softirq_name(TIMER) \ | ||
15 | softirq_name(NET_TX) \ | ||
16 | softirq_name(NET_RX) \ | ||
17 | softirq_name(BLOCK) \ | ||
18 | softirq_name(BLOCK_IOPOLL) \ | ||
19 | softirq_name(TASKLET) \ | ||
20 | softirq_name(SCHED) \ | ||
21 | softirq_name(HRTIMER) \ | ||
22 | softirq_name_end(RCU) | ||
23 | |||
24 | #undef softirq_name | ||
25 | #undef softirq_name_end | ||
26 | |||
27 | #define softirq_name(sirq) TRACE_DEFINE_ENUM(sirq##_SOFTIRQ); | ||
28 | #define softirq_name_end(sirq) TRACE_DEFINE_ENUM(sirq##_SOFTIRQ); | ||
29 | |||
30 | SOFTIRQ_NAME_LIST | ||
31 | |||
32 | #undef softirq_name | ||
33 | #undef softirq_name_end | ||
34 | |||
35 | #define softirq_name(sirq) { sirq##_SOFTIRQ, #sirq }, | ||
36 | #define softirq_name_end(sirq) { sirq##_SOFTIRQ, #sirq } | ||
37 | |||
13 | #define show_softirq_name(val) \ | 38 | #define show_softirq_name(val) \ |
14 | __print_symbolic(val, \ | 39 | __print_symbolic(val, SOFTIRQ_NAME_LIST) |
15 | softirq_name(HI), \ | ||
16 | softirq_name(TIMER), \ | ||
17 | softirq_name(NET_TX), \ | ||
18 | softirq_name(NET_RX), \ | ||
19 | softirq_name(BLOCK), \ | ||
20 | softirq_name(BLOCK_IOPOLL), \ | ||
21 | softirq_name(TASKLET), \ | ||
22 | softirq_name(SCHED), \ | ||
23 | softirq_name(HRTIMER), \ | ||
24 | softirq_name(RCU)) | ||
25 | 40 | ||
26 | /** | 41 | /** |
27 | * irq_handler_entry - called immediately before the irq action handler | 42 | * irq_handler_entry - called immediately before the irq action handler |