xref: /OK3568_Linux_fs/kernel/include/trace/events/power_cpu_migrate.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 */
2*4882a593Smuzhiyun #undef TRACE_SYSTEM
3*4882a593Smuzhiyun #define TRACE_SYSTEM power
4*4882a593Smuzhiyun 
5*4882a593Smuzhiyun #if !defined(_TRACE_POWER_CPU_MIGRATE_H) || defined(TRACE_HEADER_MULTI_READ)
6*4882a593Smuzhiyun #define _TRACE_POWER_CPU_MIGRATE_H
7*4882a593Smuzhiyun 
8*4882a593Smuzhiyun #include <linux/tracepoint.h>
9*4882a593Smuzhiyun 
10*4882a593Smuzhiyun #define __cpu_migrate_proto			\
11*4882a593Smuzhiyun 	TP_PROTO(u64 timestamp,			\
12*4882a593Smuzhiyun 		 u32 cpu_hwid)
13*4882a593Smuzhiyun #define __cpu_migrate_args			\
14*4882a593Smuzhiyun 	TP_ARGS(timestamp,			\
15*4882a593Smuzhiyun 		cpu_hwid)
16*4882a593Smuzhiyun 
17*4882a593Smuzhiyun DECLARE_EVENT_CLASS(cpu_migrate,
18*4882a593Smuzhiyun 
19*4882a593Smuzhiyun 	__cpu_migrate_proto,
20*4882a593Smuzhiyun 	__cpu_migrate_args,
21*4882a593Smuzhiyun 
22*4882a593Smuzhiyun 	TP_STRUCT__entry(
23*4882a593Smuzhiyun 		__field(u64,	timestamp		)
24*4882a593Smuzhiyun 		__field(u32,	cpu_hwid		)
25*4882a593Smuzhiyun 	),
26*4882a593Smuzhiyun 
27*4882a593Smuzhiyun 	TP_fast_assign(
28*4882a593Smuzhiyun 		__entry->timestamp = timestamp;
29*4882a593Smuzhiyun 		__entry->cpu_hwid = cpu_hwid;
30*4882a593Smuzhiyun 	),
31*4882a593Smuzhiyun 
32*4882a593Smuzhiyun 	TP_printk("timestamp=%llu cpu_hwid=0x%08lX",
33*4882a593Smuzhiyun 		(unsigned long long)__entry->timestamp,
34*4882a593Smuzhiyun 		(unsigned long)__entry->cpu_hwid
35*4882a593Smuzhiyun 	)
36*4882a593Smuzhiyun );
37*4882a593Smuzhiyun 
38*4882a593Smuzhiyun #define __define_cpu_migrate_event(name)		\
39*4882a593Smuzhiyun 	DEFINE_EVENT(cpu_migrate, cpu_migrate_##name,	\
40*4882a593Smuzhiyun 		__cpu_migrate_proto,			\
41*4882a593Smuzhiyun 		__cpu_migrate_args			\
42*4882a593Smuzhiyun 	)
43*4882a593Smuzhiyun 
44*4882a593Smuzhiyun __define_cpu_migrate_event(begin);
45*4882a593Smuzhiyun __define_cpu_migrate_event(finish);
46*4882a593Smuzhiyun __define_cpu_migrate_event(current);
47*4882a593Smuzhiyun 
48*4882a593Smuzhiyun #undef __define_cpu_migrate
49*4882a593Smuzhiyun #undef __cpu_migrate_proto
50*4882a593Smuzhiyun #undef __cpu_migrate_args
51*4882a593Smuzhiyun 
52*4882a593Smuzhiyun /* This file can get included multiple times, TRACE_HEADER_MULTI_READ at top */
53*4882a593Smuzhiyun #ifndef _PWR_CPU_MIGRATE_EVENT_AVOID_DOUBLE_DEFINING
54*4882a593Smuzhiyun #define _PWR_CPU_MIGRATE_EVENT_AVOID_DOUBLE_DEFINING
55*4882a593Smuzhiyun 
56*4882a593Smuzhiyun /*
57*4882a593Smuzhiyun  * Set from_phys_cpu and to_phys_cpu to CPU_MIGRATE_ALL_CPUS to indicate
58*4882a593Smuzhiyun  * a whole-cluster migration:
59*4882a593Smuzhiyun  */
60*4882a593Smuzhiyun #define CPU_MIGRATE_ALL_CPUS 0x80000000U
61*4882a593Smuzhiyun #endif
62*4882a593Smuzhiyun 
63*4882a593Smuzhiyun #endif /* _TRACE_POWER_CPU_MIGRATE_H */
64*4882a593Smuzhiyun 
65*4882a593Smuzhiyun /* This part must be outside protection */
66*4882a593Smuzhiyun #undef TRACE_INCLUDE_FILE
67*4882a593Smuzhiyun #define TRACE_INCLUDE_FILE power_cpu_migrate
68*4882a593Smuzhiyun #include <trace/define_trace.h>
69