From 1900694cd024935ebd61d6b31d2941feccbadd02 Mon Sep 17 00:00:00 2001 From: Shaleen Agrawal Date: Wed, 6 Oct 2021 17:00:05 -0700 Subject: [PATCH] sched/walt: fix target load crossover This change is for general scheduler improvement. Change-Id: I28ccf141ccd52c0b8afc4548f83dd4e69b954670 Signed-off-by: Shaleen Agrawal --- kernel/sched/walt/cpufreq_walt.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/kernel/sched/walt/cpufreq_walt.c b/kernel/sched/walt/cpufreq_walt.c index f8fb81715bc4..689a4d3e080e 100644 --- a/kernel/sched/walt/cpufreq_walt.c +++ b/kernel/sched/walt/cpufreq_walt.c @@ -210,7 +210,10 @@ static inline unsigned long walt_map_util_freq(unsigned long util, if (util >= wg_policy->tunables->target_load_thresh && cpu_util_rt(cpu_rq(cpu)) < (cap >> 2)) - return (fmax + (fmax >> shift)) * util / cap; + return max( + (fmax + (fmax >> shift)) * util, + (fmax + (fmax >> 2)) * wg_policy->tunables->target_load_thresh + )/cap; return (fmax + (fmax >> 2)) * util / cap; }