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