xref: /openbmc/linux/include/trace/events/thp.h (revision 27af67f3)
1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
29e813308SAneesh Kumar K.V #undef TRACE_SYSTEM
39e813308SAneesh Kumar K.V #define TRACE_SYSTEM thp
49e813308SAneesh Kumar K.V 
59e813308SAneesh Kumar K.V #if !defined(_TRACE_THP_H) || defined(TRACE_HEADER_MULTI_READ)
69e813308SAneesh Kumar K.V #define _TRACE_THP_H
79e813308SAneesh Kumar K.V 
89e813308SAneesh Kumar K.V #include <linux/types.h>
99e813308SAneesh Kumar K.V #include <linux/tracepoint.h>
109e813308SAneesh Kumar K.V 
11104c49d5SAneesh Kumar K.V DECLARE_EVENT_CLASS(hugepage_set,
129e813308SAneesh Kumar K.V 
13104c49d5SAneesh Kumar K.V 	    TP_PROTO(unsigned long addr, unsigned long pte),
14104c49d5SAneesh Kumar K.V 	    TP_ARGS(addr, pte),
159e813308SAneesh Kumar K.V 	    TP_STRUCT__entry(
169e813308SAneesh Kumar K.V 		    __field(unsigned long, addr)
17104c49d5SAneesh Kumar K.V 		    __field(unsigned long, pte)
189e813308SAneesh Kumar K.V 		    ),
199e813308SAneesh Kumar K.V 
209e813308SAneesh Kumar K.V 	    TP_fast_assign(
219e813308SAneesh Kumar K.V 		    __entry->addr = addr;
22104c49d5SAneesh Kumar K.V 		    __entry->pte = pte;
239e813308SAneesh Kumar K.V 		    ),
249e813308SAneesh Kumar K.V 
25104c49d5SAneesh Kumar K.V 	    TP_printk("Set page table entry with 0x%lx with 0x%lx", __entry->addr, __entry->pte)
269e813308SAneesh Kumar K.V );
279e813308SAneesh Kumar K.V 
28104c49d5SAneesh Kumar K.V DEFINE_EVENT(hugepage_set, hugepage_set_pmd,
29104c49d5SAneesh Kumar K.V 	    TP_PROTO(unsigned long addr, unsigned long pmd),
30104c49d5SAneesh Kumar K.V 	    TP_ARGS(addr, pmd)
31104c49d5SAneesh Kumar K.V );
329e813308SAneesh Kumar K.V 
33*27af67f3SAneesh Kumar K.V DEFINE_EVENT(hugepage_set, hugepage_set_pud,
34*27af67f3SAneesh Kumar K.V 	    TP_PROTO(unsigned long addr, unsigned long pud),
35*27af67f3SAneesh Kumar K.V 	    TP_ARGS(addr, pud)
36*27af67f3SAneesh Kumar K.V );
37*27af67f3SAneesh Kumar K.V 
38104c49d5SAneesh Kumar K.V DECLARE_EVENT_CLASS(hugepage_update,
399e813308SAneesh Kumar K.V 
409e813308SAneesh Kumar K.V 	    TP_PROTO(unsigned long addr, unsigned long pte, unsigned long clr, unsigned long set),
419e813308SAneesh Kumar K.V 	    TP_ARGS(addr, pte, clr, set),
429e813308SAneesh Kumar K.V 	    TP_STRUCT__entry(
439e813308SAneesh Kumar K.V 		    __field(unsigned long, addr)
449e813308SAneesh Kumar K.V 		    __field(unsigned long, pte)
459e813308SAneesh Kumar K.V 		    __field(unsigned long, clr)
469e813308SAneesh Kumar K.V 		    __field(unsigned long, set)
479e813308SAneesh Kumar K.V 		    ),
489e813308SAneesh Kumar K.V 
499e813308SAneesh Kumar K.V 	    TP_fast_assign(
509e813308SAneesh Kumar K.V 		    __entry->addr = addr;
519e813308SAneesh Kumar K.V 		    __entry->pte = pte;
529e813308SAneesh Kumar K.V 		    __entry->clr = clr;
539e813308SAneesh Kumar K.V 		    __entry->set = set;
549e813308SAneesh Kumar K.V 
559e813308SAneesh Kumar K.V 		    ),
569e813308SAneesh Kumar K.V 
579e813308SAneesh Kumar K.V 	    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)
589e813308SAneesh Kumar K.V );
599e813308SAneesh Kumar K.V 
60104c49d5SAneesh Kumar K.V DEFINE_EVENT(hugepage_update, hugepage_update_pmd,
61104c49d5SAneesh Kumar K.V 	    TP_PROTO(unsigned long addr, unsigned long pmd, unsigned long clr, unsigned long set),
62104c49d5SAneesh Kumar K.V 	    TP_ARGS(addr, pmd, clr, set)
63104c49d5SAneesh Kumar K.V );
64104c49d5SAneesh Kumar K.V 
65*27af67f3SAneesh Kumar K.V DEFINE_EVENT(hugepage_update, hugepage_update_pud,
66*27af67f3SAneesh Kumar K.V 	    TP_PROTO(unsigned long addr, unsigned long pud, unsigned long clr, unsigned long set),
67*27af67f3SAneesh Kumar K.V 	    TP_ARGS(addr, pud, clr, set)
68*27af67f3SAneesh Kumar K.V );
69*27af67f3SAneesh Kumar K.V 
70283fd6feSAnshuman Khandual DECLARE_EVENT_CLASS(migration_pmd,
71283fd6feSAnshuman Khandual 
72283fd6feSAnshuman Khandual 		TP_PROTO(unsigned long addr, unsigned long pmd),
73283fd6feSAnshuman Khandual 
74283fd6feSAnshuman Khandual 		TP_ARGS(addr, pmd),
75283fd6feSAnshuman Khandual 
76283fd6feSAnshuman Khandual 		TP_STRUCT__entry(
77283fd6feSAnshuman Khandual 			__field(unsigned long, addr)
78283fd6feSAnshuman Khandual 			__field(unsigned long, pmd)
79283fd6feSAnshuman Khandual 		),
80283fd6feSAnshuman Khandual 
81283fd6feSAnshuman Khandual 		TP_fast_assign(
82283fd6feSAnshuman Khandual 			__entry->addr = addr;
83283fd6feSAnshuman Khandual 			__entry->pmd = pmd;
84283fd6feSAnshuman Khandual 		),
85283fd6feSAnshuman Khandual 		TP_printk("addr=%lx, pmd=%lx", __entry->addr, __entry->pmd)
86283fd6feSAnshuman Khandual );
87283fd6feSAnshuman Khandual 
88283fd6feSAnshuman Khandual DEFINE_EVENT(migration_pmd, set_migration_pmd,
89283fd6feSAnshuman Khandual 	TP_PROTO(unsigned long addr, unsigned long pmd),
90283fd6feSAnshuman Khandual 	TP_ARGS(addr, pmd)
91283fd6feSAnshuman Khandual );
92283fd6feSAnshuman Khandual 
93283fd6feSAnshuman Khandual DEFINE_EVENT(migration_pmd, remove_migration_pmd,
94283fd6feSAnshuman Khandual 	TP_PROTO(unsigned long addr, unsigned long pmd),
95283fd6feSAnshuman Khandual 	TP_ARGS(addr, pmd)
96283fd6feSAnshuman Khandual );
979e813308SAneesh Kumar K.V #endif /* _TRACE_THP_H */
989e813308SAneesh Kumar K.V 
999e813308SAneesh Kumar K.V /* This part must be outside protection */
1009e813308SAneesh Kumar K.V #include <trace/define_trace.h>
101