1 #undef TRACE_SYSTEM
2 #define TRACE_SYSTEM compaction
3 
4 #if !defined(_TRACE_COMPACTION_H) || defined(TRACE_HEADER_MULTI_READ)
5 #define _TRACE_COMPACTION_H
6 
7 #include <linux/types.h>
8 #include <linux/tracepoint.h>
9 #include <trace/events/gfpflags.h>
10 
11 DECLARE_EVENT_CLASS(mm_compaction_isolate_template,
12 
13 	TP_PROTO(unsigned long nr_scanned,
14 		unsigned long nr_taken),
15 
16 	TP_ARGS(nr_scanned, nr_taken),
17 
18 	TP_STRUCT__entry(
19 		__field(unsigned long, nr_scanned)
20 		__field(unsigned long, nr_taken)
21 	),
22 
23 	TP_fast_assign(
24 		__entry->nr_scanned = nr_scanned;
25 		__entry->nr_taken = nr_taken;
26 	),
27 
28 	TP_printk("nr_scanned=%lu nr_taken=%lu",
29 		__entry->nr_scanned,
30 		__entry->nr_taken)
31 );
32 
33 DEFINE_EVENT(mm_compaction_isolate_template, mm_compaction_isolate_migratepages,
34 
35 	TP_PROTO(unsigned long nr_scanned,
36 		unsigned long nr_taken),
37 
38 	TP_ARGS(nr_scanned, nr_taken)
39 );
40 
41 DEFINE_EVENT(mm_compaction_isolate_template, mm_compaction_isolate_freepages,
42 	TP_PROTO(unsigned long nr_scanned,
43 		unsigned long nr_taken),
44 
45 	TP_ARGS(nr_scanned, nr_taken)
46 );
47 
48 TRACE_EVENT(mm_compaction_migratepages,
49 
50 	TP_PROTO(unsigned long nr_migrated,
51 		unsigned long nr_failed),
52 
53 	TP_ARGS(nr_migrated, nr_failed),
54 
55 	TP_STRUCT__entry(
56 		__field(unsigned long, nr_migrated)
57 		__field(unsigned long, nr_failed)
58 	),
59 
60 	TP_fast_assign(
61 		__entry->nr_migrated = nr_migrated;
62 		__entry->nr_failed = nr_failed;
63 	),
64 
65 	TP_printk("nr_migrated=%lu nr_failed=%lu",
66 		__entry->nr_migrated,
67 		__entry->nr_failed)
68 );
69 
70 TRACE_EVENT(mm_compaction_begin,
71 	TP_PROTO(unsigned long zone_start, unsigned long migrate_start,
72 		unsigned long free_start, unsigned long zone_end),
73 
74 	TP_ARGS(zone_start, migrate_start, free_start, zone_end),
75 
76 	TP_STRUCT__entry(
77 		__field(unsigned long, zone_start)
78 		__field(unsigned long, migrate_start)
79 		__field(unsigned long, free_start)
80 		__field(unsigned long, zone_end)
81 	),
82 
83 	TP_fast_assign(
84 		__entry->zone_start = zone_start;
85 		__entry->migrate_start = migrate_start;
86 		__entry->free_start = free_start;
87 		__entry->zone_end = zone_end;
88 	),
89 
90 	TP_printk("zone_start=%lu migrate_start=%lu free_start=%lu zone_end=%lu",
91 		__entry->zone_start,
92 		__entry->migrate_start,
93 		__entry->free_start,
94 		__entry->zone_end)
95 );
96 
97 TRACE_EVENT(mm_compaction_end,
98 	TP_PROTO(int status),
99 
100 	TP_ARGS(status),
101 
102 	TP_STRUCT__entry(
103 		__field(int, status)
104 	),
105 
106 	TP_fast_assign(
107 		__entry->status = status;
108 	),
109 
110 	TP_printk("status=%d", __entry->status)
111 );
112 
113 #endif /* _TRACE_COMPACTION_H */
114 
115 /* This part must be outside protection */
116 #include <trace/define_trace.h>
117