diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2014-08-04 20:15:45 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-08-04 20:15:45 -0400 |
| commit | ce4747963252a30613ebf1c1df3d83b9526a342e (patch) | |
| tree | 6c61d1b1045a72965006324ae3805280be296e53 /include/trace | |
| parent | 76f09aa464a1913efd596dd0edbf88f932fde08c (diff) | |
| parent | a5102476a24bce364b74f1110005542a2c964103 (diff) | |
Merge branch 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull x86 mm changes from Ingo Molnar:
"The main change in this cycle is the rework of the TLB range flushing
code, to simplify, fix and consolidate the code. By Dave Hansen"
* 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
x86/mm: Set TLB flush tunable to sane value (33)
x86/mm: New tunable for single vs full TLB flush
x86/mm: Add tracepoints for TLB flushes
x86/mm: Unify remote INVLPG code
x86/mm: Fix missed global TLB flush stat
x86/mm: Rip out complicated, out-of-date, buggy TLB flushing
x86/mm: Clean up the TLB flushing code
x86/smep: Be more informative when signalling an SMEP fault
Diffstat (limited to 'include/trace')
| -rw-r--r-- | include/trace/events/tlb.h | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/include/trace/events/tlb.h b/include/trace/events/tlb.h new file mode 100644 index 000000000000..13391d288107 --- /dev/null +++ b/include/trace/events/tlb.h | |||
| @@ -0,0 +1,40 @@ | |||
| 1 | #undef TRACE_SYSTEM | ||
| 2 | #define TRACE_SYSTEM tlb | ||
| 3 | |||
| 4 | #if !defined(_TRACE_TLB_H) || defined(TRACE_HEADER_MULTI_READ) | ||
| 5 | #define _TRACE_TLB_H | ||
| 6 | |||
| 7 | #include <linux/mm_types.h> | ||
| 8 | #include <linux/tracepoint.h> | ||
| 9 | |||
| 10 | #define TLB_FLUSH_REASON \ | ||
| 11 | { TLB_FLUSH_ON_TASK_SWITCH, "flush on task switch" }, \ | ||
| 12 | { TLB_REMOTE_SHOOTDOWN, "remote shootdown" }, \ | ||
| 13 | { TLB_LOCAL_SHOOTDOWN, "local shootdown" }, \ | ||
| 14 | { TLB_LOCAL_MM_SHOOTDOWN, "local mm shootdown" } | ||
| 15 | |||
| 16 | TRACE_EVENT(tlb_flush, | ||
| 17 | |||
| 18 | TP_PROTO(int reason, unsigned long pages), | ||
| 19 | TP_ARGS(reason, pages), | ||
| 20 | |||
| 21 | TP_STRUCT__entry( | ||
| 22 | __field( int, reason) | ||
| 23 | __field(unsigned long, pages) | ||
| 24 | ), | ||
| 25 | |||
| 26 | TP_fast_assign( | ||
| 27 | __entry->reason = reason; | ||
| 28 | __entry->pages = pages; | ||
| 29 | ), | ||
| 30 | |||
| 31 | TP_printk("pages:%ld reason:%s (%d)", | ||
| 32 | __entry->pages, | ||
| 33 | __print_symbolic(__entry->reason, TLB_FLUSH_REASON), | ||
| 34 | __entry->reason) | ||
| 35 | ); | ||
| 36 | |||
| 37 | #endif /* _TRACE_TLB_H */ | ||
| 38 | |||
| 39 | /* This part must be outside protection */ | ||
| 40 | #include <trace/define_trace.h> | ||
