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 |
