2 #define TRACE_SYSTEM compaction
4 #if !defined(LTTNG_TRACE_COMPACTION_H) || defined(TRACE_HEADER_MULTI_READ)
5 #define LTTNG_TRACE_COMPACTION_H
7 #include "../../../probes/lttng-tracepoint-event.h"
8 #include <linux/types.h>
9 #include <linux/version.h>
10 #include <trace/events/gfpflags.h>
12 LTTNG_TRACEPOINT_EVENT_CLASS(mm_compaction_isolate_template
,
14 TP_PROTO(unsigned long nr_scanned
,
15 unsigned long nr_taken
),
17 TP_ARGS(nr_scanned
, nr_taken
),
20 __field(unsigned long, nr_scanned
)
21 __field(unsigned long, nr_taken
)
25 tp_assign(nr_scanned
, nr_scanned
)
26 tp_assign(nr_taken
, nr_taken
)
29 TP_printk("nr_scanned=%lu nr_taken=%lu",
34 LTTNG_TRACEPOINT_EVENT_INSTANCE(mm_compaction_isolate_template
, mm_compaction_isolate_migratepages
,
36 TP_PROTO(unsigned long nr_scanned
,
37 unsigned long nr_taken
),
39 TP_ARGS(nr_scanned
, nr_taken
)
42 LTTNG_TRACEPOINT_EVENT_INSTANCE(mm_compaction_isolate_template
, mm_compaction_isolate_freepages
,
43 TP_PROTO(unsigned long nr_scanned
,
44 unsigned long nr_taken
),
46 TP_ARGS(nr_scanned
, nr_taken
)
49 #if LTTNG_KERNEL_RANGE(3,14,25, 3,15,0) || \
50 (LINUX_VERSION_CODE >= KERNEL_VERSION(3,16,0))
51 LTTNG_TRACEPOINT_EVENT(mm_compaction_migratepages
,
53 TP_PROTO(unsigned long nr_all
,
55 struct list_head
*migratepages
),
57 TP_ARGS(nr_all
, migrate_rc
, migratepages
),
60 __field(unsigned long, nr_migrated
)
61 __field(unsigned long, nr_failed
)
65 tp_assign(nr_migrated
,
67 (migrate_rc
>= 0 ? migrate_rc
:
69 unsigned long nr_failed
= 0;
70 struct list_head
*page_lru
;
72 list_for_each(page_lru
, migratepages
)
78 unsigned long nr_failed
= 0;
79 struct list_head
*page_lru
;
81 list_for_each(page_lru
, migratepages
)
87 TP_printk("nr_migrated=%lu nr_failed=%lu",
91 #else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,16,0)) */
92 LTTNG_TRACEPOINT_EVENT(mm_compaction_migratepages
,
94 TP_PROTO(unsigned long nr_migrated
,
95 unsigned long nr_failed
),
97 TP_ARGS(nr_migrated
, nr_failed
),
100 __field(unsigned long, nr_migrated
)
101 __field(unsigned long, nr_failed
)
105 tp_assign(nr_migrated
, nr_migrated
)
106 tp_assign(nr_failed
, nr_failed
)
109 TP_printk("nr_migrated=%lu nr_failed=%lu",
110 __entry
->nr_migrated
,
113 #endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,16,0)) */
115 #endif /* LTTNG_TRACE_COMPACTION_H */
117 /* This part must be outside protection */
118 #include "../../../probes/define_trace.h"