mm: migrate: Add a tracepoint for migrate_pages
[platform/adaptation/renesas_rcar/renesas_kernel.git] / include / trace / events / migrate.h
1 #undef TRACE_SYSTEM
2 #define TRACE_SYSTEM migrate
3
4 #if !defined(_TRACE_MIGRATE_H) || defined(TRACE_HEADER_MULTI_READ)
5 #define _TRACE_MIGRATE_H
6
7 #define MIGRATE_MODE                                            \
8         {MIGRATE_ASYNC,         "MIGRATE_ASYNC"},               \
9         {MIGRATE_SYNC_LIGHT,    "MIGRATE_SYNC_LIGHT"},          \
10         {MIGRATE_SYNC,          "MIGRATE_SYNC"}         
11
12 #define MIGRATE_REASON                                          \
13         {MR_COMPACTION,         "compaction"},                  \
14         {MR_MEMORY_FAILURE,     "memory_failure"},              \
15         {MR_MEMORY_HOTPLUG,     "memory_hotplug"},              \
16         {MR_SYSCALL,            "syscall_or_cpuset"},           \
17         {MR_MEMPOLICY_MBIND,    "mempolicy_mbind"},             \
18         {MR_CMA,                "cma"}
19
20 TRACE_EVENT(mm_migrate_pages,
21
22         TP_PROTO(unsigned long succeeded, unsigned long failed,
23                  enum migrate_mode mode, int reason),
24
25         TP_ARGS(succeeded, failed, mode, reason),
26
27         TP_STRUCT__entry(
28                 __field(        unsigned long,          succeeded)
29                 __field(        unsigned long,          failed)
30                 __field(        enum migrate_mode,      mode)
31                 __field(        int,                    reason)
32         ),
33
34         TP_fast_assign(
35                 __entry->succeeded      = succeeded;
36                 __entry->failed         = failed;
37                 __entry->mode           = mode;
38                 __entry->reason         = reason;
39         ),
40
41         TP_printk("nr_succeeded=%lu nr_failed=%lu mode=%s reason=%s",
42                 __entry->succeeded,
43                 __entry->failed,
44                 __print_symbolic(__entry->mode, MIGRATE_MODE),
45                 __print_symbolic(__entry->reason, MIGRATE_REASON))
46 );
47
48 #endif /* _TRACE_MIGRATE_H */
49
50 /* This part must be outside protection */
51 #include <trace/define_trace.h>