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