On Fri, Oct 16, 2020 at 8:17 PM Wei Wang <w...@google.com> wrote: > > We have the raw cached freq to reduce the chance in calling cpufreq > driver where it could be costly in some arch/SoC. > > Currently, the raw cached freq will be reset when next_f is changed for > correctness. This patch changes it to maintain the cached value instead > of dropping it to honor the purpose of the cached value. > > This is adapted from https://android-review.googlesource.com/1352810/ > > Signed-off-by: Wei Wang <w...@google.com> > --- > kernel/sched/cpufreq_schedutil.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/kernel/sched/cpufreq_schedutil.c > b/kernel/sched/cpufreq_schedutil.c > index 5ae7b4e6e8d6..e254745a82cb 100644 > --- a/kernel/sched/cpufreq_schedutil.c > +++ b/kernel/sched/cpufreq_schedutil.c > @@ -441,6 +441,7 @@ static void sugov_update_single(struct update_util_data > *hook, u64 time, > unsigned long util, max; > unsigned int next_f; > bool busy; > + unsigned int cached_freq = sg_policy->cached_raw_freq; > > sugov_iowait_boost(sg_cpu, time, flags); > sg_cpu->last_update = time; > @@ -464,8 +465,8 @@ static void sugov_update_single(struct update_util_data > *hook, u64 time, > if (busy && next_f < sg_policy->next_freq) { > next_f = sg_policy->next_freq; > > - /* Reset cached freq as next_freq has changed */ > - sg_policy->cached_raw_freq = 0; > + /* Restore cached freq as next_freq has changed */ > + sg_policy->cached_raw_freq = cached_freq; > } > > /* > --
Applied as 5.10-rc material with edited subject and rewritten changelog. Thanks!