From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S936577AbcKWNKA (ORCPT ); Wed, 23 Nov 2016 08:10:00 -0500 Received: from merlin.infradead.org ([205.233.59.134]:40284 "EHLO merlin.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933460AbcKWNJ6 (ORCPT ); Wed, 23 Nov 2016 08:09:58 -0500 Date: Wed, 23 Nov 2016 14:09:11 +0100 From: Peter Zijlstra To: Tim Chen Cc: rjw@rjwysocki.net, tglx@linutronix.de, mingo@redhat.com, bp@suse.de, x86@kernel.org, linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, linux-acpi@vger.kernel.org, jolsa@redhat.com, Srinivas Pandruvada Subject: Re: [PATCH v8 1/8] sched: Extend scheduler's asym packing Message-ID: <20161123130911.GT3092@twins.programming.kicks-ass.net> References: <0e73ae12737dfaafa46c07066cc7c5d3f1675e46.1479844244.git.tim.c.chen@linux.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <0e73ae12737dfaafa46c07066cc7c5d3f1675e46.1479844244.git.tim.c.chen@linux.intel.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 Tue, Nov 22, 2016 at 12:23:53PM -0800, Tim Chen wrote: > We generalize the scheduler's asym packing to provide an ordering > of the cpu beyond just the cpu number. This allows the use of the > ASYM_PACKING scheduler machinery to move loads to preferred CPU in a > sched domain. The preference is defined with the cpu priority > given by arch_asym_cpu_priority(cpu). > > We also record the most preferred cpu in a sched group when > we build the cpu's capacity for fast lookup of preferred cpu > during load balancing. > > Co-developed-by: Peter Zijlstra (Intel) > Signed-off-by: Tim Chen With the two little edits below: Acked-by: Peter Zijlstra (Intel) > --- > include/linux/sched.h | 4 ++++ > kernel/sched/core.c | 15 ++++++++++++++ > kernel/sched/fair.c | 54 +++++++++++++++++++++++++++++++++++---------------- > kernel/sched/sched.h | 6 ++++++ > 4 files changed, 62 insertions(+), 17 deletions(-) > > diff --git a/include/linux/sched.h b/include/linux/sched.h > index 348f51b..ca02475 100644 > --- a/include/linux/sched.h > +++ b/include/linux/sched.h > @@ -1057,6 +1057,10 @@ static inline int cpu_numa_flags(void) > } > #endif > > +int arch_asym_cpu_priority(int cpu); extern > +int arch_asym_max_cpu_and(const struct cpumask *mask1, > + const struct cpumask *mask2); > + And that needs to go too; that function no longer exists. > struct sched_domain_attr { > int relax_domain_level; > };