> -----Original Message----- > From: Tim Chen [mailto:tim.c.c...@linux.intel.com] > Sent: Wednesday, March 24, 2021 11:51 AM > To: Song Bao Hua (Barry Song) <song.bao....@hisilicon.com>; > catalin.mari...@arm.com; w...@kernel.org; r...@rjwysocki.net; > vincent.guit...@linaro.org; b...@alien8.de; t...@linutronix.de; > mi...@redhat.com; l...@kernel.org; pet...@infradead.org; > dietmar.eggem...@arm.com; rost...@goodmis.org; bseg...@google.com; > mgor...@suse.de > Cc: msys.miz...@gmail.com; valentin.schnei...@arm.com; > gre...@linuxfoundation.org; Jonathan Cameron <jonathan.came...@huawei.com>; > juri.le...@redhat.com; mark.rutl...@arm.com; sudeep.ho...@arm.com; > aubrey...@linux.intel.com; linux-arm-ker...@lists.infradead.org; > linux-kernel@vger.kernel.org; linux-a...@vger.kernel.org; x...@kernel.org; > xuwei (O) <xuw...@huawei.com>; Zengtao (B) <prime.z...@hisilicon.com>; > guodong...@linaro.org; yangyicong <yangyic...@huawei.com>; Liguozhu (Kenneth) > <liguo...@hisilicon.com>; linux...@openeuler.org; h...@zytor.com > Subject: Re: [RFC PATCH v5 4/4] scheduler: Add cluster scheduler level for x86 > > > > On 3/18/21 9:16 PM, Barry Song wrote: > > From: Tim Chen <tim.c.c...@linux.intel.com> > > > > There are x86 CPU architectures (e.g. Jacobsville) where L2 cahce > > is shared among a cluster of cores instead of being exclusive > > to one single core. > > > > To prevent oversubscription of L2 cache, load should be > > balanced between such L2 clusters, especially for tasks with > > no shared data. > > > > Also with cluster scheduling policy where tasks are woken up > > in the same L2 cluster, we will benefit from keeping tasks > > related to each other and likely sharing data in the same L2 > > cluster. > > > > Add CPU masks of CPUs sharing the L2 cache so we can build such > > L2 cluster scheduler domain. > > > > Signed-off-by: Tim Chen <tim.c.c...@linux.intel.com> > > Signed-off-by: Barry Song <song.bao....@hisilicon.com> > > > Barry, > > Can you also add this chunk to the patch. > Thanks.
Sure, Tim, Thanks. I'll put that into patch 4/4 in v6. > > Tim > > > diff --git a/arch/x86/include/asm/topology.h > b/arch/x86/include/asm/topology.h > index 2a11ccc14fb1..800fa48c9fcd 100644 > --- a/arch/x86/include/asm/topology.h > +++ b/arch/x86/include/asm/topology.h > @@ -115,6 +115,7 @@ extern unsigned int __max_die_per_package; > > #ifdef CONFIG_SMP > #define topology_die_cpumask(cpu) (per_cpu(cpu_die_map, cpu)) > +#define topology_cluster_cpumask(cpu) > (cpu_clustergroup_mask(cpu)) > #define topology_core_cpumask(cpu) (per_cpu(cpu_core_map, cpu)) > #define topology_sibling_cpumask(cpu) > (per_cpu(cpu_sibling_map, cpu)) > Thanks Barry