Loading...
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>
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>