Update compaction instrumentation to 3.16 kernel
[lttng-modules.git] / instrumentation / events / lttng-module / compaction.h
CommitLineData
b87700e3
AG
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>
00073447 9#include <linux/version.h>
b87700e3
AG
10#include <trace/events/gfpflags.h>
11
12DECLARE_EVENT_CLASS(mm_compaction_isolate_template,
13
14 TP_PROTO(unsigned long nr_scanned,
15 unsigned long nr_taken),
16
17 TP_ARGS(nr_scanned, nr_taken),
18
19 TP_STRUCT__entry(
20 __field(unsigned long, nr_scanned)
21 __field(unsigned long, nr_taken)
22 ),
23
24 TP_fast_assign(
25 tp_assign(nr_scanned, nr_scanned)
26 tp_assign(nr_taken, nr_taken)
27 ),
28
29 TP_printk("nr_scanned=%lu nr_taken=%lu",
30 __entry->nr_scanned,
31 __entry->nr_taken)
32)
33
34DEFINE_EVENT(mm_compaction_isolate_template, mm_compaction_isolate_migratepages,
35
36 TP_PROTO(unsigned long nr_scanned,
37 unsigned long nr_taken),
38
39 TP_ARGS(nr_scanned, nr_taken)
40)
41
42DEFINE_EVENT(mm_compaction_isolate_template, mm_compaction_isolate_freepages,
43 TP_PROTO(unsigned long nr_scanned,
44 unsigned long nr_taken),
45
46 TP_ARGS(nr_scanned, nr_taken)
47)
48
00073447
MD
49#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,16,0))
50TRACE_EVENT(mm_compaction_migratepages,
51
52 TP_PROTO(unsigned long nr_all,
53 int migrate_rc,
54 struct list_head *migratepages),
55
56 TP_ARGS(nr_all, migrate_rc, migratepages),
57
58 TP_STRUCT__entry(
59 __field(unsigned long, nr_migrated)
60 __field(unsigned long, nr_failed)
61 ),
62
63 TP_fast_assign(
64 tp_assign(nr_migrated,
65 nr_all -
66 (migrate_rc >= 0 ? migrate_rc :
67 ({
68 unsigned long nr_failed = 0;
69 struct list_head *page_lru;
70
71 list_for_each(page_lru, migratepages)
72 nr_failed++;
73 nr_failed;
74 })))
75 tp_assign(nr_failed,
76 ({
77 unsigned long nr_failed = 0;
78 struct list_head *page_lru;
79
80 list_for_each(page_lru, migratepages)
81 nr_failed++;
82 nr_failed;
83 }))
84 ),
85
86 TP_printk("nr_migrated=%lu nr_failed=%lu",
87 __entry->nr_migrated,
88 __entry->nr_failed)
89)
90#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,16,0)) */
b87700e3
AG
91TRACE_EVENT(mm_compaction_migratepages,
92
93 TP_PROTO(unsigned long nr_migrated,
94 unsigned long nr_failed),
95
96 TP_ARGS(nr_migrated, nr_failed),
97
98 TP_STRUCT__entry(
99 __field(unsigned long, nr_migrated)
100 __field(unsigned long, nr_failed)
101 ),
102
103 TP_fast_assign(
104 tp_assign(nr_migrated, nr_migrated)
105 tp_assign(nr_failed, nr_failed)
106 ),
107
108 TP_printk("nr_migrated=%lu nr_failed=%lu",
109 __entry->nr_migrated,
110 __entry->nr_failed)
111)
00073447 112#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,16,0)) */
b87700e3
AG
113
114#endif /* _TRACE_COMPACTION_H */
115
116/* This part must be outside protection */
117#include "../../../probes/define_trace.h"
This page took 0.028009 seconds and 4 git commands to generate.