69 lines · c
1/* SPDX-License-Identifier: GPL-2.0 */2#undef TRACE_SYSTEM3#define TRACE_SYSTEM power4 5#if !defined(_TRACE_POWER_CPU_MIGRATE_H) || defined(TRACE_HEADER_MULTI_READ)6#define _TRACE_POWER_CPU_MIGRATE_H7 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 17DECLARE_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_hwid35 )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_migrate49#undef __cpu_migrate_proto50#undef __cpu_migrate_args51 52/* This file can get included multiple times, TRACE_HEADER_MULTI_READ at top */53#ifndef _PWR_CPU_MIGRATE_EVENT_AVOID_DOUBLE_DEFINING54#define _PWR_CPU_MIGRATE_EVENT_AVOID_DOUBLE_DEFINING55 56/*57 * Set from_phys_cpu and to_phys_cpu to CPU_MIGRATE_ALL_CPUS to indicate58 * a whole-cluster migration:59 */60#define CPU_MIGRATE_ALL_CPUS 0x80000000U61#endif62 63#endif /* _TRACE_POWER_CPU_MIGRATE_H */64 65/* This part must be outside protection */66#undef TRACE_INCLUDE_FILE67#define TRACE_INCLUDE_FILE power_cpu_migrate68#include <trace/define_trace.h>69