On Wed, Aug 10, 2016 at 03:49:07AM +0200, Rafael J. Wysocki wrote:
> Index: linux-pm/kernel/sched/fair.c
> ===================================================================
> --- linux-pm.orig/kernel/sched/fair.c
> +++ linux-pm/kernel/sched/fair.c
> @@ -2875,11 +2875,8 @@ static inline void update_tg_load_avg(st
>  
>  static inline void cfs_rq_util_change(struct cfs_rq *cfs_rq)
>  {
> -     struct rq *rq = rq_of(cfs_rq);
> -     int cpu = cpu_of(rq);
> -
> -     if (cpu == smp_processor_id() && &rq->cfs == cfs_rq) {
> -             unsigned long max = rq->cpu_capacity_orig;
> +     if (&this_rq()->cfs == cfs_rq) {
> +             struct rq *rq = rq_of(cfs_rq);
>  
>               /*
>                * There are a few boundary cases this might miss but it should
> @@ -2897,8 +2894,8 @@ static inline void cfs_rq_util_change(st
>                *
>                * See cpu_util().
>                */
> -             cpufreq_update_util(rq_clock(rq),
> -                                 min(cfs_rq->avg.util_avg, max), max);
> +             if (cpu_of(rq) == smp_processor_id())

Isn't this test against smp_processor_id() redundant since
this_rq()->cfs == cfs_rq?

> +                     cpufreq_update_util(rq_clock(rq), 0);

All else looked good to me.

thanks,
Steve

Reply via email to