2 * Copyright (C) 2015 Steve Muckle <smuckle@linaro.org>
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation.
10 #define TRACE_SYSTEM cpufreq_sched
12 #if !defined(_TRACE_CPUFREQ_SCHED_H) || defined(TRACE_HEADER_MULTI_READ)
13 #define _TRACE_CPUFREQ_SCHED_H
15 #include <linux/sched.h>
16 #include <linux/tracepoint.h>
18 TRACE_EVENT(cpufreq_sched_throttled,
19 TP_PROTO(unsigned int rem),
22 __field( unsigned int, rem)
27 TP_printk("throttled - %d usec remaining", __entry->rem)
30 TRACE_EVENT(cpufreq_sched_request_opp,
32 unsigned long capacity,
33 unsigned int freq_new,
34 unsigned int requested_freq),
35 TP_ARGS(cpu, capacity, freq_new, requested_freq),
38 __field( unsigned long, capacity)
39 __field( unsigned int, freq_new)
40 __field( unsigned int, requested_freq)
44 __entry->capacity = capacity;
45 __entry->freq_new = freq_new;
46 __entry->requested_freq = requested_freq;
48 TP_printk("cpu %d cap change, cluster cap request %ld => OPP %d "
50 __entry->cpu, __entry->capacity, __entry->freq_new,
51 __entry->requested_freq)
54 TRACE_EVENT(cpufreq_sched_update_capacity,
57 struct sched_capacity_reqs *scr,
58 unsigned long new_capacity),
59 TP_ARGS(cpu, request, scr, new_capacity),
62 __field( bool, request)
63 __field( unsigned long, cfs)
64 __field( unsigned long, rt)
65 __field( unsigned long, dl)
66 __field( unsigned long, total)
67 __field( unsigned long, new_total)
71 __entry->request = request;
72 __entry->cfs = scr->cfs;
73 __entry->rt = scr->rt;
74 __entry->dl = scr->dl;
75 __entry->total = scr->total;
76 __entry->new_total = new_capacity;
78 TP_printk("cpu=%d set_cap=%d cfs=%ld rt=%ld dl=%ld old_tot=%ld "
80 __entry->cpu, __entry->request, __entry->cfs, __entry->rt,
81 __entry->dl, __entry->total, __entry->new_total)
84 #endif /* _TRACE_CPUFREQ_SCHED_H */
86 /* This part must be outside protection */
87 #include <trace/define_trace.h>