GNU Linux-libre 4.19.245-gnu1
[releases.git] / include / trace / events / thp.h
1 /* SPDX-License-Identifier: GPL-2.0 */
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
11 TRACE_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
29 TRACE_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
47 TRACE_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 );
68 TRACE_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 /* _TRACE_THP_H */
87
88 /* This part must be outside protection */
89 #include <trace/define_trace.h>