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