2 #define TRACE_SYSTEM mm_event
4 #if !defined(_TRACE_MM_EVENT_H) || defined(TRACE_HEADER_MULTI_READ)
5 #define _TRACE_MM_EVENT_H
7 #include <linux/types.h>
8 #include <linux/tracepoint.h>
13 #define show_mm_event_type(type) \
14 __print_symbolic(type, \
15 { MM_MIN_FAULT, "min_flt" }, \
16 { MM_MAJ_FAULT, "maj_flt" }, \
17 { MM_COMPACTION, "compaction" }, \
18 { MM_RECLAIM, "reclaim" }, \
19 { MM_SWP_FAULT, "swp_flt" }, \
20 { MM_KERN_ALLOC, "kern_alloc" })
22 TRACE_EVENT(mm_event_record
,
24 TP_PROTO(enum mm_event_type type
, struct mm_event_task
*record
),
26 TP_ARGS(type
, record
),
29 __field(enum mm_event_type
, type
)
30 __field(unsigned int, count
)
31 __field(unsigned int, avg_lat
)
32 __field(unsigned int, max_lat
)
37 __entry
->count
= record
->count
;
38 __entry
->avg_lat
= record
->accm_lat
/ record
->count
;
39 __entry
->max_lat
= record
->max_lat
;
42 TP_printk("%s count=%d avg_lat=%u max_lat=%u",
43 show_mm_event_type(__entry
->type
),
44 __entry
->count
, __entry
->avg_lat
,
48 #endif /* _TRACE_MM_EVENT_H */
50 /* This part must be outside protection */
51 #include <trace/define_trace.h>