1 /* SPDX-License-Identifier: GPL-2.0 */
3 #define TRACE_SYSTEM thp
5 #if !defined(_TRACE_THP_H) || defined(TRACE_HEADER_MULTI_READ)
8 #include <linux/types.h>
9 #include <linux/tracepoint.h>
11 DECLARE_EVENT_CLASS(hugepage_set
,
13 TP_PROTO(unsigned long addr
, unsigned long pte
),
16 __field(unsigned long, addr
)
17 __field(unsigned long, pte
)
25 TP_printk("Set page table entry with 0x%lx with 0x%lx", __entry
->addr
, __entry
->pte
)
28 DEFINE_EVENT(hugepage_set
, hugepage_set_pmd
,
29 TP_PROTO(unsigned long addr
, unsigned long pmd
),
33 DEFINE_EVENT(hugepage_set
, hugepage_set_pud
,
34 TP_PROTO(unsigned long addr
, unsigned long pud
),
38 DECLARE_EVENT_CLASS(hugepage_update
,
40 TP_PROTO(unsigned long addr
, unsigned long pte
, unsigned long clr
, unsigned long set
),
41 TP_ARGS(addr
, pte
, clr
, set
),
43 __field(unsigned long, addr
)
44 __field(unsigned long, pte
)
45 __field(unsigned long, clr
)
46 __field(unsigned long, set
)
57 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
)
60 DEFINE_EVENT(hugepage_update
, hugepage_update_pmd
,
61 TP_PROTO(unsigned long addr
, unsigned long pmd
, unsigned long clr
, unsigned long set
),
62 TP_ARGS(addr
, pmd
, clr
, set
)
65 DEFINE_EVENT(hugepage_update
, hugepage_update_pud
,
66 TP_PROTO(unsigned long addr
, unsigned long pud
, unsigned long clr
, unsigned long set
),
67 TP_ARGS(addr
, pud
, clr
, set
)
70 DECLARE_EVENT_CLASS(migration_pmd
,
72 TP_PROTO(unsigned long addr
, unsigned long pmd
),
77 __field(unsigned long, addr
)
78 __field(unsigned long, pmd
)
85 TP_printk("addr=%lx, pmd=%lx", __entry
->addr
, __entry
->pmd
)
88 DEFINE_EVENT(migration_pmd
, set_migration_pmd
,
89 TP_PROTO(unsigned long addr
, unsigned long pmd
),
93 DEFINE_EVENT(migration_pmd
, remove_migration_pmd
,
94 TP_PROTO(unsigned long addr
, unsigned long pmd
),
97 #endif /* _TRACE_THP_H */
99 /* This part must be outside protection */
100 #include <trace/define_trace.h>