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 DECLARE_EVENT_CLASS(hugepage_set, 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("Set page table entry with 0x%lx with 0x%lx", __entry->addr, __entry->pte) 26 ); 27 28 DEFINE_EVENT(hugepage_set, hugepage_set_pmd, 29 TP_PROTO(unsigned long addr, unsigned long pmd), 30 TP_ARGS(addr, pmd) 31 ); 32 33 DEFINE_EVENT(hugepage_set, hugepage_set_pud, 34 TP_PROTO(unsigned long addr, unsigned long pud), 35 TP_ARGS(addr, pud) 36 ); 37 38 DECLARE_EVENT_CLASS(hugepage_update, 39 40 TP_PROTO(unsigned long addr, unsigned long pte, unsigned long clr, unsigned long set), 41 TP_ARGS(addr, pte, clr, set), 42 TP_STRUCT__entry( 43 __field(unsigned long, addr) 44 __field(unsigned long, pte) 45 __field(unsigned long, clr) 46 __field(unsigned long, set) 47 ), 48 49 TP_fast_assign( 50 __entry->addr = addr; 51 __entry->pte = pte; 52 __entry->clr = clr; 53 __entry->set = set; 54 55 ), 56 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) 58 ); 59 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) 63 ); 64 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) 68 ); 69 70 DECLARE_EVENT_CLASS(migration_pmd, 71 72 TP_PROTO(unsigned long addr, unsigned long pmd), 73 74 TP_ARGS(addr, pmd), 75 76 TP_STRUCT__entry( 77 __field(unsigned long, addr) 78 __field(unsigned long, pmd) 79 ), 80 81 TP_fast_assign( 82 __entry->addr = addr; 83 __entry->pmd = pmd; 84 ), 85 TP_printk("addr=%lx, pmd=%lx", __entry->addr, __entry->pmd) 86 ); 87 88 DEFINE_EVENT(migration_pmd, set_migration_pmd, 89 TP_PROTO(unsigned long addr, unsigned long pmd), 90 TP_ARGS(addr, pmd) 91 ); 92 93 DEFINE_EVENT(migration_pmd, remove_migration_pmd, 94 TP_PROTO(unsigned long addr, unsigned long pmd), 95 TP_ARGS(addr, pmd) 96 ); 97 #endif /* _TRACE_THP_H */ 98 99 /* This part must be outside protection */ 100 #include <trace/define_trace.h> 101