Re: [PATCH 4/4] cpufreq: schedutil: Don't call sugov_get_util() unnecessarily
From: Joel Fernandes
Date: Mon Dec 18 2017 - 22:26:31 EST
On Wed, Dec 13, 2017 at 1:53 AM, Viresh Kumar <viresh.kumar@xxxxxxxxxx> 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.kumar@xxxxxxxxxx>
> ---
> 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 <joelaf@xxxxxxxxxx>
Thanks,
- Joel