blob: 06f544ef2f6fefd9a288a81581bfeb2e35d90ba4 [file] [log] [blame]
Mel Gormanb7aba692011-01-13 15:45:54 -08001#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>
David Howellsa1ce3922012-10-02 18:01:25 +01009#include <trace/events/gfpflags.h>
Mel Gormanb7aba692011-01-13 15:45:54 -080010
11DECLARE_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
33DEFINE_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
41DEFINE_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
48TRACE_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
Mel Gorman0eb927c2014-01-21 15:51:05 -080070TRACE_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
97TRACE_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);
Mel Gormanb7aba692011-01-13 15:45:54 -0800112
113#endif /* _TRACE_COMPACTION_H */
114
115/* This part must be outside protection */
116#include <trace/define_trace.h>