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/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>
  • Loading branch information
Steven Rostedt (Red Hat) 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.