Re: [Update][PATCH 1/2] cpufreq / sched: Pass flags to cpufreq_update_util()

From: Steve Muckle
Date: Thu Aug 11 2016 - 14:05:31 EST


On Thu, Aug 11, 2016 at 11:03:47AM -0700, Steve Muckle wrote:
> 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?

Sorry, I see this is modified in the next patch.