101 lines · c
1/* SPDX-License-Identifier: GPL-2.0 */2#undef TRACE_SYSTEM3#define TRACE_SYSTEM thp4 5#if !defined(_TRACE_THP_H) || defined(TRACE_HEADER_MULTI_READ)6#define _TRACE_THP_H7 8#include <linux/types.h>9#include <linux/tracepoint.h>10 11DECLARE_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 28DEFINE_EVENT(hugepage_set, hugepage_set_pmd,29 TP_PROTO(unsigned long addr, unsigned long pmd),30 TP_ARGS(addr, pmd)31);32 33DEFINE_EVENT(hugepage_set, hugepage_set_pud,34 TP_PROTO(unsigned long addr, unsigned long pud),35 TP_ARGS(addr, pud)36);37 38DECLARE_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 60DEFINE_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 65DEFINE_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 70DECLARE_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 88DEFINE_EVENT(migration_pmd, set_migration_pmd,89 TP_PROTO(unsigned long addr, unsigned long pmd),90 TP_ARGS(addr, pmd)91);92 93DEFINE_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