Hi, On 13/12/17 15:23, Viresh Kumar wrote: > sugov_update_shared() may get called to clear the scheduling class flags > and we would return immediately in that case. Calling sugov_get_util() > in that case isn't going to be of any use then. Move invocation of > sugov_get_util() after the clear flag is checked. > > Signed-off-by: Viresh Kumar <viresh.ku...@linaro.org> > --- > kernel/sched/cpufreq_schedutil.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/kernel/sched/cpufreq_schedutil.c > b/kernel/sched/cpufreq_schedutil.c > index 7edfdc59ee8f..b69c37c867fe 100644 > --- a/kernel/sched/cpufreq_schedutil.c > +++ b/kernel/sched/cpufreq_schedutil.c > @@ -349,8 +349,6 @@ static void sugov_update_shared(struct update_util_data > *hook, u64 time, > unsigned long util, max; > unsigned int next_f; > > - sugov_get_util(&util, &max, sg_cpu->cpu); > - > raw_spin_lock(&sg_policy->update_lock); > > if (unlikely(flags & SCHED_CPUFREQ_CLEAR)) { > @@ -358,6 +356,8 @@ static void sugov_update_shared(struct update_util_data > *hook, u64 time, > goto unlock; > } > > + sugov_get_util(&util, &max, sg_cpu->cpu); > + > sg_cpu->util = util; > sg_cpu->max = max; > sg_cpu->flags |= flags;
It seems that Patrick already posted basically the same change: https://patchwork.kernel.org/patch/10084669/ Also, Cc-ing him for this.. I just noticed he wasn't Cc-ed to the series. Best, - Juri