0001
0002 #undef TRACE_SYSTEM
0003 #define TRACE_SYSTEM thp
0004
0005 #if !defined(_TRACE_THP_H) || defined(TRACE_HEADER_MULTI_READ)
0006 #define _TRACE_THP_H
0007
0008 #include <linux/types.h>
0009 #include <linux/tracepoint.h>
0010
0011 TRACE_EVENT(hugepage_set_pmd,
0012
0013 TP_PROTO(unsigned long addr, unsigned long pmd),
0014 TP_ARGS(addr, pmd),
0015 TP_STRUCT__entry(
0016 __field(unsigned long, addr)
0017 __field(unsigned long, pmd)
0018 ),
0019
0020 TP_fast_assign(
0021 __entry->addr = addr;
0022 __entry->pmd = pmd;
0023 ),
0024
0025 TP_printk("Set pmd with 0x%lx with 0x%lx", __entry->addr, __entry->pmd)
0026 );
0027
0028
0029 TRACE_EVENT(hugepage_update,
0030
0031 TP_PROTO(unsigned long addr, unsigned long pte, unsigned long clr, unsigned long set),
0032 TP_ARGS(addr, pte, clr, set),
0033 TP_STRUCT__entry(
0034 __field(unsigned long, addr)
0035 __field(unsigned long, pte)
0036 __field(unsigned long, clr)
0037 __field(unsigned long, set)
0038 ),
0039
0040 TP_fast_assign(
0041 __entry->addr = addr;
0042 __entry->pte = pte;
0043 __entry->clr = clr;
0044 __entry->set = set;
0045
0046 ),
0047
0048 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)
0049 );
0050
0051 DECLARE_EVENT_CLASS(migration_pmd,
0052
0053 TP_PROTO(unsigned long addr, unsigned long pmd),
0054
0055 TP_ARGS(addr, pmd),
0056
0057 TP_STRUCT__entry(
0058 __field(unsigned long, addr)
0059 __field(unsigned long, pmd)
0060 ),
0061
0062 TP_fast_assign(
0063 __entry->addr = addr;
0064 __entry->pmd = pmd;
0065 ),
0066 TP_printk("addr=%lx, pmd=%lx", __entry->addr, __entry->pmd)
0067 );
0068
0069 DEFINE_EVENT(migration_pmd, set_migration_pmd,
0070 TP_PROTO(unsigned long addr, unsigned long pmd),
0071 TP_ARGS(addr, pmd)
0072 );
0073
0074 DEFINE_EVENT(migration_pmd, remove_migration_pmd,
0075 TP_PROTO(unsigned long addr, unsigned long pmd),
0076 TP_ARGS(addr, pmd)
0077 );
0078 #endif
0079
0080
0081 #include <trace/define_trace.h>