cpufreq: schedutil: Add trace point for get_next_freq
This will help catch any issues between utilization update from scheduler
to the actual frequency calculation.
Change-Id: I17f23fd126e2d69488b2ba0a526296872090ac96
Signed-off-by: Saravana Kannan <skannan@codeaurora.org>
diff --git a/include/trace/events/power.h b/include/trace/events/power.h
index b94e493..408fa57 100644
--- a/include/trace/events/power.h
+++ b/include/trace/events/power.h
@@ -801,6 +801,29 @@
__entry->pl, __entry->flags)
);
+TRACE_EVENT(sugov_next_freq,
+ TP_PROTO(unsigned int cpu, unsigned long util, unsigned long max,
+ unsigned int freq),
+ TP_ARGS(cpu, util, max, freq),
+ TP_STRUCT__entry(
+ __field( unsigned int, cpu)
+ __field( unsigned long, util)
+ __field( unsigned long, max)
+ __field( unsigned int, freq)
+ ),
+ TP_fast_assign(
+ __entry->cpu = cpu;
+ __entry->util = util;
+ __entry->max = max;
+ __entry->freq = freq;
+ ),
+ TP_printk("cpu=%u util=%lu max=%lu freq=%u",
+ __entry->cpu,
+ __entry->util,
+ __entry->max,
+ __entry->freq)
+);
+
DECLARE_EVENT_CLASS(kpm_module,
TP_PROTO(unsigned int managed_cpus, unsigned int max_cpus),
diff --git a/kernel/sched/cpufreq_schedutil.c b/kernel/sched/cpufreq_schedutil.c
index bc55f3f..801c8f0 100644
--- a/kernel/sched/cpufreq_schedutil.c
+++ b/kernel/sched/cpufreq_schedutil.c
@@ -163,6 +163,7 @@
policy->cpuinfo.max_freq : policy->cur;
freq = (freq + (freq >> 2)) * util / max;
+ trace_sugov_next_freq(policy->cpu, util, max, freq);
if (freq == sg_policy->cached_raw_freq && sg_policy->next_freq != UINT_MAX)
return sg_policy->next_freq;