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
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_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

source code of linux/include/trace/events/power_cpu_migrate.h