diff options
| author | Steven Rostedt (Red Hat) <rostedt@goodmis.org> | 2015-03-24 18:15:57 -0400 |
|---|---|---|
| committer | Steven Rostedt <rostedt@goodmis.org> | 2015-04-08 09:39:58 -0400 |
| commit | 23b9766261aa9bd4cc9ba770deda794608708bdc (patch) | |
| tree | 9c55677522d1020c3092e17a55c3dada32cd61d3 /include/trace | |
| parent | 32eb3d0d09943ab9dcc01fb8d2619b64e965992c (diff) | |
x86/tlb/trace: Export enums in used by tlb_flush tracepoint
Have the enums used in __print_symbolic() by the trace_tlb_flush()
tracepoint exported to userpace such that they can be parsed by
userspace tools.
Link: http://lkml.kernel.org/r/20150403013802.220157513@goodmis.org
Cc: Dave Hansen <dave@sr71.net>
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/tlb.h | 30 |
1 files changed, 25 insertions, 5 deletions
diff --git a/include/trace/events/tlb.h b/include/trace/events/tlb.h index 0e7635765153..4250f364a6ca 100644 --- a/include/trace/events/tlb.h +++ b/include/trace/events/tlb.h | |||
| @@ -7,11 +7,31 @@ | |||
| 7 | #include <linux/mm_types.h> | 7 | #include <linux/mm_types.h> |
| 8 | #include <linux/tracepoint.h> | 8 | #include <linux/tracepoint.h> |
| 9 | 9 | ||
| 10 | #define TLB_FLUSH_REASON \ | 10 | #define TLB_FLUSH_REASON \ |
| 11 | { TLB_FLUSH_ON_TASK_SWITCH, "flush on task switch" }, \ | 11 | EM( TLB_FLUSH_ON_TASK_SWITCH, "flush on task switch" ) \ |
| 12 | { TLB_REMOTE_SHOOTDOWN, "remote shootdown" }, \ | 12 | EM( TLB_REMOTE_SHOOTDOWN, "remote shootdown" ) \ |
| 13 | { TLB_LOCAL_SHOOTDOWN, "local shootdown" }, \ | 13 | EM( TLB_LOCAL_SHOOTDOWN, "local shootdown" ) \ |
| 14 | { TLB_LOCAL_MM_SHOOTDOWN, "local mm shootdown" } | 14 | EMe( TLB_LOCAL_MM_SHOOTDOWN, "local mm shootdown" ) |
| 15 | |||
| 16 | /* | ||
| 17 | * First define the enums in TLB_FLUSH_REASON to be exported to userspace | ||
| 18 | * via TRACE_DEFINE_ENUM(). | ||
| 19 | */ | ||
| 20 | #undef EM | ||
| 21 | #undef EMe | ||
| 22 | #define EM(a,b) TRACE_DEFINE_ENUM(a); | ||
| 23 | #define EMe(a,b) TRACE_DEFINE_ENUM(a); | ||
| 24 | |||
| 25 | TLB_FLUSH_REASON | ||
| 26 | |||
| 27 | /* | ||
| 28 | * Now redefine the EM() and EMe() macros to map the enums to the strings | ||
| 29 | * that will be printed in the output. | ||
| 30 | */ | ||
| 31 | #undef EM | ||
| 32 | #undef EMe | ||
| 33 | #define EM(a,b) { a, b }, | ||
| 34 | #define EMe(a,b) { a, b } | ||
| 15 | 35 | ||
| 16 | TRACE_EVENT_CONDITION(tlb_flush, | 36 | TRACE_EVENT_CONDITION(tlb_flush, |
| 17 | 37 | ||
