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