From 39605473ba582acd80596feb76739dd0fb0c58ab Mon Sep 17 00:00:00 2001 From: Shaleen Agrawal Date: Mon, 24 May 2021 10:31:38 -0700 Subject: [PATCH] sched: walt: expand waltgov_util_update trace point When experiencing frequency related issues, it will be helpful to be aware of any potential clamping issues, as well as reasons why we might end up not updating to a different frequency. Change-Id: I0be24d713421357e077cd01d5c84f43138a17b24 Signed-off-by: Shaleen Agrawal --- kernel/sched/walt/cpufreq_walt.c | 3 ++- kernel/sched/walt/trace.h | 29 +++++++++++++++++++++-------- 2 files changed, 23 insertions(+), 9 deletions(-) diff --git a/kernel/sched/walt/cpufreq_walt.c b/kernel/sched/walt/cpufreq_walt.c index 4722a2a1dc96..57692b62949c 100644 --- a/kernel/sched/walt/cpufreq_walt.c +++ b/kernel/sched/walt/cpufreq_walt.c @@ -206,7 +206,8 @@ static unsigned int get_next_freq(struct waltgov_policy *wg_policy, unsigned int freq = policy->cpuinfo.max_freq; freq = map_util_freq(util, freq, max); - trace_waltgov_next_freq(policy->cpu, util, max, freq); + trace_waltgov_next_freq(policy->cpu, util, max, freq, policy->min, policy->max, + wg_policy->cached_raw_freq, wg_policy->need_freq_update); if (freq == wg_policy->cached_raw_freq && !wg_policy->need_freq_update) return wg_policy->next_freq; diff --git a/kernel/sched/walt/trace.h b/kernel/sched/walt/trace.h index b6f8a8738d3b..3aa89daa9742 100644 --- a/kernel/sched/walt/trace.h +++ b/kernel/sched/walt/trace.h @@ -647,25 +647,38 @@ TRACE_EVENT(waltgov_util_update, TRACE_EVENT(waltgov_next_freq, TP_PROTO(unsigned int cpu, unsigned long util, unsigned long max, - unsigned int freq), - TP_ARGS(cpu, util, max, freq), + unsigned int freq, unsigned int min_freq, unsigned int max_freq, + unsigned int cached_raw_freq, bool need_freq_update), + TP_ARGS(cpu, util, max, freq, min_freq, max_freq, cached_raw_freq, need_freq_update), TP_STRUCT__entry( __field(unsigned int, cpu) __field(unsigned long, util) __field(unsigned long, max) __field(unsigned int, freq) + __field(unsigned int, min_freq) + __field(unsigned int, max_freq) + __field(unsigned int, cached_raw_freq) + __field(bool, need_freq_update) ), TP_fast_assign( - __entry->cpu = cpu; - __entry->util = util; - __entry->max = max; - __entry->freq = freq; + __entry->cpu = cpu; + __entry->util = util; + __entry->max = max; + __entry->freq = freq; + __entry->min_freq = min_freq; + __entry->max_freq = max_freq; + __entry->cached_raw_freq = cached_raw_freq; + __entry->need_freq_update = need_freq_update; ), - TP_printk("cpu=%u util=%lu max=%lu freq=%u", + TP_printk("cpu=%u util=%lu max=%lu freq=%u min_freq=%lu max_freq=%lu cached_raw_freq=%lu need_update=%d", __entry->cpu, __entry->util, __entry->max, - __entry->freq) + __entry->freq, + __entry->min_freq, + __entry->max_freq, + __entry->cached_raw_freq, + __entry->need_freq_update) ); TRACE_EVENT(walt_active_load_balance,