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>
10 #include <linux/mm_event.h>
13 struct mm_event_vmstat
;
15 #define show_mm_event_type(type) \
16 __print_symbolic(type, \
17 { MM_MIN_FAULT, "min_flt" }, \
18 { MM_MAJ_FAULT, "maj_flt" }, \
19 { MM_READ_IO, "read_io" }, \
20 { MM_COMPACTION, "compaction" }, \
21 { MM_RECLAIM, "reclaim" }, \
22 { MM_SWP_FAULT, "swp_flt" }, \
23 { MM_KERN_ALLOC, "kern_alloc" })
25 TRACE_EVENT(mm_event_record
,
27 TP_PROTO(enum mm_event_type type
, struct mm_event_task
*record
),
29 TP_ARGS(type
, record
),
32 __field(enum mm_event_type
, type
)
33 __field(unsigned int, count
)
34 __field(unsigned int, avg_lat
)
35 __field(unsigned int, max_lat
)
40 __entry
->count
= record
->count
;
41 __entry
->avg_lat
= record
->accm_lat
/ record
->count
;
42 __entry
->max_lat
= record
->max_lat
;
45 TP_printk("%s count=%d avg_lat=%u max_lat=%u",
46 show_mm_event_type(__entry
->type
),
47 __entry
->count
, __entry
->avg_lat
,
51 TRACE_EVENT(mm_event_vmstat_record
,
53 TP_PROTO(struct mm_event_vmstat
*vmstat
),
58 __field(unsigned long, free
)
59 __field(unsigned long, file
)
60 __field(unsigned long, anon
)
61 __field(unsigned long, slab
)
62 __field(unsigned long, ws_refault
)
63 __field(unsigned long, ws_activate
)
64 __field(unsigned long, mapped
)
65 __field(unsigned long, pgin
)
66 __field(unsigned long, pgout
)
67 __field(unsigned long, swpin
)
68 __field(unsigned long, swpout
)
69 __field(unsigned long, reclaim_steal
)
70 __field(unsigned long, reclaim_scan
)
71 __field(unsigned long, compact_scan
)
75 __entry
->free
= vmstat
->free
;
76 __entry
->file
= vmstat
->file
;
77 __entry
->anon
= vmstat
->anon
;
78 __entry
->slab
= vmstat
->slab
;
79 __entry
->ws_refault
= vmstat
->ws_refault
;
80 __entry
->ws_activate
= vmstat
->ws_activate
;
81 __entry
->mapped
= vmstat
->mapped
;
82 __entry
->pgin
= vmstat
->pgin
;
83 __entry
->pgout
= vmstat
->pgout
;
84 __entry
->swpin
= vmstat
->swpin
;
85 __entry
->swpout
= vmstat
->swpout
;
86 __entry
->reclaim_steal
= vmstat
->reclaim_steal
;
87 __entry
->reclaim_scan
= vmstat
->reclaim_scan
;
88 __entry
->compact_scan
= vmstat
->compact_scan
;
91 TP_printk("free=%lu file=%lu anon=%lu slab=%lu ws_refault=%lu "
92 "ws_activate=%lu mapped=%lu pgin=%lu pgout=%lu, swpin=%lu "
93 "swpout=%lu reclaim_steal=%lu reclaim_scan=%lu compact_scan=%lu",
94 __entry
->free
, __entry
->file
,
95 __entry
->anon
, __entry
->slab
,
96 __entry
->ws_refault
, __entry
->ws_activate
,
97 __entry
->mapped
, __entry
->pgin
, __entry
->pgout
,
98 __entry
->swpin
, __entry
->swpout
,
99 __entry
->reclaim_steal
, __entry
->reclaim_scan
,
100 __entry
->compact_scan
)
103 #endif /* _TRACE_MM_EVENT_H */
105 /* This part must be outside protection */
106 #include <trace/define_trace.h>