Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1441334 > unrolled thread

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

Started byPeter Zijlstra <peterz@infradead.org>
First post2016-07-12 15:10 +0200
Last post2016-07-12 16:40 +0200
Articles 2 — 2 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: [PATCH v2 11/13] sched/fair: Avoid pulling tasks from  non-overloaded higher capacity groups Peter Zijlstra <peterz@infradead.org> - 2016-07-12 15:10 +0200
    Re: [PATCH v2 11/13] sched/fair: Avoid pulling tasks from  non-overloaded higher capacity groups Morten Rasmussen <morten.rasmussen@arm.com> - 2016-07-12 16:40 +0200

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

FromPeter Zijlstra <peterz@infradead.org>
Date2016-07-12 15:10 +0200
SubjectRe: [PATCH v2 11/13] sched/fair: Avoid pulling tasks from non-overloaded higher capacity groups
Message-ID<rU5BM-5k0-35@gated-at.bofh.it>
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?

> +
> +	/* Candidate sg has no more than one task per cpu and has

Tssk, borken comment style.

> +	 * higher per-cpu capacity. Migrating tasks to less capable
> +	 * cpus may harm throughput. Maximize throughput,
> +	 * power/energy consequences are not considered.
> +	 */
> +	if (sgs->sum_nr_running <= sgs->group_weight &&
> +	    group_smaller_cpu_capacity(sds->local, sg))
> +		return false;
> +
> +asym_packing:
>  	/* This is the busiest node in its class. */
>  	if (!(env->sd->flags & SD_ASYM_PACKING))
>  		return true;
> -- 
> 1.9.1
> 

[toc] | [next] | [standalone]


#1441431

FromMorten Rasmussen <morten.rasmussen@arm.com>
Date2016-07-12 16:40 +0200
Message-ID<rU70R-6aC-5@gated-at.bofh.it>
In reply to#1441334
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.

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web