| 1 |
|
| 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 |
|
| 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
|
| 64 |
|
| 65 |
|
| 66 | #undef TRACE_INCLUDE_FILE
|
| 67 | #define TRACE_INCLUDE_FILE power_cpu_migrate
|
| 68 | #include <trace/define_trace.h>
|