Skip to content

Commit

Permalink
x86/tlb/trace: Export enums in used by tlb_flush tracepoint
Browse files Browse the repository at this point in the history
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/[email protected]

Cc: Dave Hansen <[email protected]>
Reviewed-by: Masami Hiramatsu <[email protected]>
Tested-by: Masami Hiramatsu <[email protected]>
Signed-off-by: Steven Rostedt <[email protected]>
  • Loading branch information
rostedt committed Apr 8, 2015
1 parent 32eb3d0 commit 23b9766
Showing 1 changed file with 25 additions and 5 deletions.
30 changes: 25 additions & 5 deletions include/trace/events/tlb.h
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,31 @@
#include <linux/mm_types.h>
#include <linux/tracepoint.h>

#define TLB_FLUSH_REASON \
{ TLB_FLUSH_ON_TASK_SWITCH, "flush on task switch" }, \
{ TLB_REMOTE_SHOOTDOWN, "remote shootdown" }, \
{ TLB_LOCAL_SHOOTDOWN, "local shootdown" }, \
{ TLB_LOCAL_MM_SHOOTDOWN, "local mm shootdown" }
#define TLB_FLUSH_REASON \
EM( TLB_FLUSH_ON_TASK_SWITCH, "flush on task switch" ) \
EM( TLB_REMOTE_SHOOTDOWN, "remote shootdown" ) \
EM( TLB_LOCAL_SHOOTDOWN, "local shootdown" ) \
EMe( TLB_LOCAL_MM_SHOOTDOWN, "local mm shootdown" )

/*
* First define the enums in TLB_FLUSH_REASON to be exported to userspace
* via TRACE_DEFINE_ENUM().
*/
#undef EM
#undef EMe
#define EM(a,b) TRACE_DEFINE_ENUM(a);
#define EMe(a,b) TRACE_DEFINE_ENUM(a);

TLB_FLUSH_REASON

/*
* Now redefine the EM() and EMe() macros to map the enums to the strings
* that will be printed in the output.
*/
#undef EM
#undef EMe
#define EM(a,b) { a, b },
#define EMe(a,b) { a, b }

TRACE_EVENT_CONDITION(tlb_flush,

Expand Down

0 comments on commit 23b9766

Please sign in to comment.