On Wed, Dec 13, 2017 at 1:53 AM, Viresh Kumar <[email protected]> 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 <[email protected]> > --- > 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;
Reviewed-by: Joel Fernandes <[email protected]> Thanks, - Joel

