From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754097AbcGLNAL (ORCPT ); Tue, 12 Jul 2016 09:00:11 -0400 Received: from merlin.infradead.org ([205.233.59.134]:41161 "EHLO merlin.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933283AbcGLNAB (ORCPT ); Tue, 12 Jul 2016 09:00:01 -0400 Date: Tue, 12 Jul 2016 14:59:53 +0200 From: Peter Zijlstra To: Morten Rasmussen Cc: mingo@redhat.com, dietmar.eggemann@arm.com, yuyang.du@intel.com, vincent.guittot@linaro.org, mgalbraith@suse.de, linux-kernel@vger.kernel.org Subject: Re: [PATCH v2 11/13] sched/fair: Avoid pulling tasks from non-overloaded higher capacity groups Message-ID: <20160712125953.GP30909@twins.programming.kicks-ass.net> References: <1466615004-3503-1-git-send-email-morten.rasmussen@arm.com> <1466615004-3503-12-git-send-email-morten.rasmussen@arm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1466615004-3503-12-git-send-email-morten.rasmussen@arm.com> User-Agent: Mutt/1.5.23.1 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 >