Re: [PATCH v2 11/13] sched/fair: Avoid pulling tasks from non-overloaded higher capacity groups

From: Morten Rasmussen
Date: Tue Jul 12 2016 - 10:33:38 EST


On Tue, Jul 12, 2016 at 02:59:53PM +0200, Peter Zijlstra wrote:
> On Wed, Jun 22, 2016 at 06:03:22PM +0100, Morten Rasmussen wrote:
> > @@ -6892,6 +6903,19 @@ static bool update_sd_pick_busiest(struct lb_env *env,
> > if (sgs->avg_load <= busiest->avg_load)
> > return false;
> >
> > + if (!(env->sd->flags & SD_ASYM_CPUCAPACITY))
> > + goto asym_packing;
>
> Does this rely on the 'funny' ASYM_CAP semantics?

No, I would actually prefer 'sane' ASYM_CAP semantics. With 'funny'
semantics we ended up doing capacity checks inside domain with similar
cpus for the lower domain levels which would is pointless and pure
overhead. With 'sane' semantics, we only do the check for the domain
level where asymmetric capacities are actually observed.

>
> > +
> > + /* Candidate sg has no more than one task per cpu and has
>
> Tssk, borken comment style.

Yes. I will fix that in v3.