Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   1) /* SPDX-License-Identifier: GPL-2.0 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   2) #undef TRACE_SYSTEM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   3) #define TRACE_SYSTEM migrate
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   4) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   5) #if !defined(_TRACE_MIGRATE_H) || defined(TRACE_HEADER_MULTI_READ)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   6) #define _TRACE_MIGRATE_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   7) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   8) #include <linux/tracepoint.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   9) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  10) #define MIGRATE_MODE						\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  11) 	EM( MIGRATE_ASYNC,	"MIGRATE_ASYNC")		\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  12) 	EM( MIGRATE_SYNC_LIGHT,	"MIGRATE_SYNC_LIGHT")		\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  13) 	EMe(MIGRATE_SYNC,	"MIGRATE_SYNC")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  14) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  15) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  16) #define MIGRATE_REASON						\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  17) 	EM( MR_COMPACTION,	"compaction")			\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  18) 	EM( MR_MEMORY_FAILURE,	"memory_failure")		\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  19) 	EM( MR_MEMORY_HOTPLUG,	"memory_hotplug")		\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  20) 	EM( MR_SYSCALL,		"syscall_or_cpuset")		\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  21) 	EM( MR_MEMPOLICY_MBIND,	"mempolicy_mbind")		\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  22) 	EM( MR_NUMA_MISPLACED,	"numa_misplaced")		\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  23) 	EMe(MR_CONTIG_RANGE,	"contig_range")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  24) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  25) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  26)  * First define the enums in the above macros to be exported to userspace
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  27)  * via TRACE_DEFINE_ENUM().
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  28)  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  29) #undef EM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  30) #undef EMe
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  31) #define EM(a, b)	TRACE_DEFINE_ENUM(a);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  32) #define EMe(a, b)	TRACE_DEFINE_ENUM(a);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  33) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  34) MIGRATE_MODE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  35) MIGRATE_REASON
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  36) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  37) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  38)  * Now redefine the EM() and EMe() macros to map the enums to the strings
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  39)  * that will be printed in the output.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  40)  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  41) #undef EM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  42) #undef EMe
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  43) #define EM(a, b)	{a, b},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  44) #define EMe(a, b)	{a, b}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  45) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  46) TRACE_EVENT(mm_migrate_pages,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  47) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  48) 	TP_PROTO(unsigned long succeeded, unsigned long failed,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  49) 		 unsigned long thp_succeeded, unsigned long thp_failed,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  50) 		 unsigned long thp_split, enum migrate_mode mode, int reason),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  51) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  52) 	TP_ARGS(succeeded, failed, thp_succeeded, thp_failed,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  53) 		thp_split, mode, reason),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  54) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  55) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  56) 		__field(	unsigned long,		succeeded)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  57) 		__field(	unsigned long,		failed)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  58) 		__field(	unsigned long,		thp_succeeded)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  59) 		__field(	unsigned long,		thp_failed)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  60) 		__field(	unsigned long,		thp_split)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  61) 		__field(	enum migrate_mode,	mode)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  62) 		__field(	int,			reason)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  63) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  64) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  65) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  66) 		__entry->succeeded	= succeeded;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  67) 		__entry->failed		= failed;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  68) 		__entry->thp_succeeded	= thp_succeeded;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  69) 		__entry->thp_failed	= thp_failed;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  70) 		__entry->thp_split	= thp_split;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  71) 		__entry->mode		= mode;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  72) 		__entry->reason		= reason;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  73) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  74) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  75) 	TP_printk("nr_succeeded=%lu nr_failed=%lu nr_thp_succeeded=%lu nr_thp_failed=%lu nr_thp_split=%lu mode=%s reason=%s",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  76) 		__entry->succeeded,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  77) 		__entry->failed,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  78) 		__entry->thp_succeeded,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  79) 		__entry->thp_failed,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  80) 		__entry->thp_split,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  81) 		__print_symbolic(__entry->mode, MIGRATE_MODE),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  82) 		__print_symbolic(__entry->reason, MIGRATE_REASON))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  83) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  84) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  85) TRACE_EVENT(mm_migrate_pages_start,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  86) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  87) 	TP_PROTO(enum migrate_mode mode, int reason),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  88) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  89) 	TP_ARGS(mode, reason),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  90) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  91) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  92) 		__field(enum migrate_mode, mode)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  93) 		__field(int, reason)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  94) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  95) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  96) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  97) 		__entry->mode	= mode;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  98) 		__entry->reason	= reason;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  99) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) 	TP_printk("mode=%s reason=%s",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) 		  __print_symbolic(__entry->mode, MIGRATE_MODE),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) 		  __print_symbolic(__entry->reason, MIGRATE_REASON))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) #endif /* _TRACE_MIGRATE_H */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108) /* This part must be outside protection */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) #include <trace/define_trace.h>