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> | ||