1
2#undef TRACE_SYSTEM
3#define TRACE_SYSTEM thp
4
5#if !defined(_TRACE_THP_H) || defined(TRACE_HEADER_MULTI_READ)
6#define _TRACE_THP_H
7
8#include <linux/types.h>
9#include <linux/tracepoint.h>
10
11TRACE_EVENT(hugepage_invalidate,
12
13 TP_PROTO(unsigned long addr, unsigned long pte),
14 TP_ARGS(addr, pte),
15 TP_STRUCT__entry(
16 __field(unsigned long, addr)
17 __field(unsigned long, pte)
18 ),
19
20 TP_fast_assign(
21 __entry->addr = addr;
22 __entry->pte = pte;
23 ),
24
25 TP_printk("hugepage invalidate at addr 0x%lx and pte = 0x%lx",
26 __entry->addr, __entry->pte)
27);
28
29TRACE_EVENT(hugepage_set_pmd,
30
31 TP_PROTO(unsigned long addr, unsigned long pmd),
32 TP_ARGS(addr, pmd),
33 TP_STRUCT__entry(
34 __field(unsigned long, addr)
35 __field(unsigned long, pmd)
36 ),
37
38 TP_fast_assign(
39 __entry->addr = addr;
40 __entry->pmd = pmd;
41 ),
42
43 TP_printk("Set pmd with 0x%lx with 0x%lx", __entry->addr, __entry->pmd)
44);
45
46
47TRACE_EVENT(hugepage_update,
48
49 TP_PROTO(unsigned long addr, unsigned long pte, unsigned long clr, unsigned long set),
50 TP_ARGS(addr, pte, clr, set),
51 TP_STRUCT__entry(
52 __field(unsigned long, addr)
53 __field(unsigned long, pte)
54 __field(unsigned long, clr)
55 __field(unsigned long, set)
56 ),
57
58 TP_fast_assign(
59 __entry->addr = addr;
60 __entry->pte = pte;
61 __entry->clr = clr;
62 __entry->set = set;
63
64 ),
65
66 TP_printk("hugepage update at addr 0x%lx and pte = 0x%lx clr = 0x%lx, set = 0x%lx", __entry->addr, __entry->pte, __entry->clr, __entry->set)
67);
68TRACE_EVENT(hugepage_splitting,
69
70 TP_PROTO(unsigned long addr, unsigned long pte),
71 TP_ARGS(addr, pte),
72 TP_STRUCT__entry(
73 __field(unsigned long, addr)
74 __field(unsigned long, pte)
75 ),
76
77 TP_fast_assign(
78 __entry->addr = addr;
79 __entry->pte = pte;
80 ),
81
82 TP_printk("hugepage splitting at addr 0x%lx and pte = 0x%lx",
83 __entry->addr, __entry->pte)
84);
85
86#endif
87
88
89#include <trace/define_trace.h>
90