98 lines · c
1/* SPDX-License-Identifier: GPL-2.0 */2/*3 * amd-pstate-trace.h - AMD Processor P-state Frequency Driver Tracer4 *5 * Copyright (C) 2021 Advanced Micro Devices, Inc. All Rights Reserved.6 *7 * Author: Huang Rui <ray.huang@amd.com>8 */9 10#if !defined(_AMD_PSTATE_TRACE_H) || defined(TRACE_HEADER_MULTI_READ)11#define _AMD_PSTATE_TRACE_H12 13#include <linux/cpufreq.h>14#include <linux/tracepoint.h>15#include <linux/trace_events.h>16 17#undef TRACE_SYSTEM18#define TRACE_SYSTEM amd_cpu19 20#undef TRACE_INCLUDE_FILE21#define TRACE_INCLUDE_FILE amd-pstate-trace22 23#define TPS(x) tracepoint_string(x)24 25TRACE_EVENT(amd_pstate_perf,26 27 TP_PROTO(unsigned long min_perf,28 unsigned long target_perf,29 unsigned long capacity,30 u64 freq,31 u64 mperf,32 u64 aperf,33 u64 tsc,34 unsigned int cpu_id,35 bool changed,36 bool fast_switch37 ),38 39 TP_ARGS(min_perf,40 target_perf,41 capacity,42 freq,43 mperf,44 aperf,45 tsc,46 cpu_id,47 changed,48 fast_switch49 ),50 51 TP_STRUCT__entry(52 __field(unsigned long, min_perf)53 __field(unsigned long, target_perf)54 __field(unsigned long, capacity)55 __field(unsigned long long, freq)56 __field(unsigned long long, mperf)57 __field(unsigned long long, aperf)58 __field(unsigned long long, tsc)59 __field(unsigned int, cpu_id)60 __field(bool, changed)61 __field(bool, fast_switch)62 ),63 64 TP_fast_assign(65 __entry->min_perf = min_perf;66 __entry->target_perf = target_perf;67 __entry->capacity = capacity;68 __entry->freq = freq;69 __entry->mperf = mperf;70 __entry->aperf = aperf;71 __entry->tsc = tsc;72 __entry->cpu_id = cpu_id;73 __entry->changed = changed;74 __entry->fast_switch = fast_switch;75 ),76 77 TP_printk("amd_min_perf=%lu amd_des_perf=%lu amd_max_perf=%lu freq=%llu mperf=%llu aperf=%llu tsc=%llu cpu_id=%u changed=%s fast_switch=%s",78 (unsigned long)__entry->min_perf,79 (unsigned long)__entry->target_perf,80 (unsigned long)__entry->capacity,81 (unsigned long long)__entry->freq,82 (unsigned long long)__entry->mperf,83 (unsigned long long)__entry->aperf,84 (unsigned long long)__entry->tsc,85 (unsigned int)__entry->cpu_id,86 (__entry->changed) ? "true" : "false",87 (__entry->fast_switch) ? "true" : "false"88 )89);90 91#endif /* _AMD_PSTATE_TRACE_H */92 93/* This part must be outside protection */94#undef TRACE_INCLUDE_PATH95#define TRACE_INCLUDE_PATH .96 97#include <trace/define_trace.h>98