Message ID | 20240201115447.522627-1-alexs@kernel.org |
---|---|
State | New |
Headers |
Return-Path: <linux-kernel+bounces-48036-ouuuleilei=gmail.com@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7301:2719:b0:106:209c:c626 with SMTP id hl25csp91777dyb; Thu, 1 Feb 2024 03:52:14 -0800 (PST) X-Google-Smtp-Source: AGHT+IEsbLsn/zCu0YuDwWE4GS4qqx9JMiuraViG/ifqhcVX/t5Y5CJc4yOaTw7Yuaos3yle312Z X-Received: by 2002:a17:906:1b1b:b0:a36:1ea8:f412 with SMTP id o27-20020a1709061b1b00b00a361ea8f412mr3566632ejg.43.1706788333760; Thu, 01 Feb 2024 03:52:13 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1706788333; cv=pass; d=google.com; s=arc-20160816; b=pfLzTtVy/JfQaMjFiLILVOslO7Loqx3+VI7CQC32aJRLemWxCusWpQ0iyssqt0cLzO SvYaAMzoXN3lOzCEwVBc39V8lpi/qexA4kfsA5GpSl1derUzfNCt/DXMLPOoP4XMllTq jIpc0YZg2HGC88ySAb46VlgmyHDgA4+5IvJA2xmCXYNeIL1zjn2G6Gn2+cyVlUZmtdjE GQFTFZkgofalHZvWKZt/vAj3p834akvg9xDb3/v4bu84YPETV3USGUR7Dx5wRVbNLwB+ +MxtA6Gp2woU7F7+dmXuAp2LNrd8qSxA84IFFh05SsGHl5ULeik4J3rBFlK25Eex369a sDQg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:message-id:date:subject:cc:to :from:dkim-signature; bh=vwbaM/3Ok6BFupEQEfKmsk/rhQzDrt5l5M5o4Dnf3eM=; fh=l7KTJD5TBFImpjbowis79VllhSJ0PESSfD7dxg2eEmQ=; b=nl07X0gGjYzz6trriFM9QObBfV+7/vmz5cy8O3z0wv8ocxugCkE9HI12PO3Em8Bjbo 576rQf50dreiRpOvwQzZJIJJNh3ehEvYbRvJZdbw4PQa7BDWgA4A7ueuN67LnrNDsLzv 3G4AmDVEamkDx2vl3XrALlWQ3/cC6pTSuX9hCIePrC2+aCc56ubHT/kZN2K1hBx6XBaB 3mo7u/BQTN3rI/jLlmDu2ectKwrIOafGK4T8ZSD99w/tr0OwBlhOc76OiMTSSDzYVj/e XlOw0rfakQioc9Co7jAtXrRSf733YVUgUFFAXmgYrmgNfqKXLoZY6AKfCHo68naQQzNj hBxQ==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=sdyQcwWQ; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-kernel+bounces-48036-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-48036-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org X-Forwarded-Encrypted: i=1; AJvYcCWapJbwRpyrdwTzDwNjITs6PnwS4nTAJv5VNSJByn/mKmym/EFFhXsSLsYVkMtLxYEMmXoOr/A5kasvi9jgojLaP+2dTw== Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [147.75.80.249]) by mx.google.com with ESMTPS id gh25-20020a170906e09900b00a3656578442si2155060ejb.553.2024.02.01.03.52.13 for <ouuuleilei@gmail.com> (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 01 Feb 2024 03:52:13 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-48036-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) client-ip=147.75.80.249; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=sdyQcwWQ; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-kernel+bounces-48036-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-48036-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by am.mirrors.kernel.org (Postfix) with ESMTPS id 565EC1F232DB for <ouuuleilei@gmail.com>; Thu, 1 Feb 2024 11:52:13 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 84E3115D5CC; Thu, 1 Feb 2024 11:51:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="sdyQcwWQ" Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D36614D9FF for <linux-kernel@vger.kernel.org>; Thu, 1 Feb 2024 11:51:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706788316; cv=none; b=uP0ztEszZZxKnW9iS4J1t9AAHm90zkpeCxw8fF0ittsUJ1L9yUyA6PG5u5ahpfqXueJJyWbBW4r4km384elLHzPYFSH/qYuBT31YmcTT0ZWhxZvLd4Yw/56fyrhnHaYKj/uOLexaTgso0Cjfakthi2tFmgHl9rFC2WEEDflg2zk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706788316; c=relaxed/simple; bh=O9lJmDiBxnZNyye1euS5klV+iMTllHBMyaYWSuHg2Sk=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=OzXGO805Yl5/PVWpFnSkDMCtLTujk5QpjTd9wHSGgmSdfmPzRBlg7JPofJJLRMTYuNoQUDKOvCDY1NrYAsZZ3HonLoIayxRk1yPNVfB9ZPx6l2w3Y7iz/ZRbsVeey8fn4spFbvOv+zbgudpNqOW2bCJx4DbrGCxyDFQHQuKSxe8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=sdyQcwWQ; arc=none smtp.client-ip=10.30.226.201 Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0E630C433C7; Thu, 1 Feb 2024 11:51:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1706788316; bh=O9lJmDiBxnZNyye1euS5klV+iMTllHBMyaYWSuHg2Sk=; h=From:To:Cc:Subject:Date:From; b=sdyQcwWQsCVyIqopa1k1f2BgcYqWMHQ5QtzFEJaeydc6127IZ3AxgVg3a9mhAoaQt WFvLMAHHQ5yg3szW4KTgDA9qZHo8mk5yC+el57i3+iGpSpyjGTilwbQGdGK4sqDmuA DulQ26fkpoUvsIVlQagwTlgVnmlx+HD5q8ZEvMuHS3lGCYJ9W46WPVxRhfJB8Q/TEg cILS689+hLoB6R5l/lDhNxALL8Vp+ujQLTXEGucse1pjX9v1onPuZEThHd7TwoJYx+ VsTEmX3I2jyglZpw5GfvJhdAtQ/LO4Z/mjHdCN+yBuQHXz1e5E+yGsqwhmuBP4kYok xpZh/tgXaz5Ew== From: alexs@kernel.org To: Ingo Molnar <mingo@redhat.com>, Peter Zijlstra <peterz@infradead.org>, Juri Lelli <juri.lelli@redhat.com>, Vincent Guittot <vincent.guittot@linaro.org>, Dietmar Eggemann <dietmar.eggemann@arm.com>, Steven Rostedt <rostedt@goodmis.org>, Ben Segall <bsegall@google.com>, Daniel Bristot de Oliveira <bristot@redhat.com>, Valentin Schneider <vschneid@redhat.com>, linux-kernel@vger.kernel.org, ricardo.neri-calderon@linux.intel.com, sshegde@linux.ibm.com Cc: Alex Shi <alexs@kernel.org> Subject: [PATCH v3 1/4] sched/fair: add SD_CLUSTER in comments Date: Thu, 1 Feb 2024 19:54:44 +0800 Message-ID: <20240201115447.522627-1-alexs@kernel.org> X-Mailer: git-send-email 2.43.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: <linux-kernel.vger.kernel.org> List-Subscribe: <mailto:linux-kernel+subscribe@vger.kernel.org> List-Unsubscribe: <mailto:linux-kernel+unsubscribe@vger.kernel.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1789697284044472906 X-GMAIL-MSGID: 1789697284044472906 |
Series |
[v3,1/4] sched/fair: add SD_CLUSTER in comments
|
|
Commit Message
alexs@kernel.org
Feb. 1, 2024, 11:54 a.m. UTC
From: Alex Shi <alexs@kernel.org> The description of SD_CLUSTER is missing. Add it. Signed-off-by: Alex Shi <alexs@kernel.org> To: Ricardo Neri <ricardo.neri-calderon@linux.intel.com> To: Valentin Schneider <vschneid@redhat.com> To: Vincent Guittot <vincent.guittot@linaro.org> To: Juri Lelli <juri.lelli@redhat.com> To: Peter Zijlstra <peterz@infradead.org> To: Ingo Molnar <mingo@redhat.com> --- kernel/sched/topology.c | 1 + 1 file changed, 1 insertion(+)
Comments
Subject nit: the prefix should be sched/topology On 01/02/24 19:54, alexs@kernel.org wrote: > From: Alex Shi <alexs@kernel.org> > > The description of SD_CLUSTER is missing. Add it. > > Signed-off-by: Alex Shi <alexs@kernel.org> > To: Ricardo Neri <ricardo.neri-calderon@linux.intel.com> > To: Valentin Schneider <vschneid@redhat.com> > To: Vincent Guittot <vincent.guittot@linaro.org> > To: Juri Lelli <juri.lelli@redhat.com> > To: Peter Zijlstra <peterz@infradead.org> > To: Ingo Molnar <mingo@redhat.com> > --- > kernel/sched/topology.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/kernel/sched/topology.c b/kernel/sched/topology.c > index 10d1391e7416..8b45f16a1890 100644 > --- a/kernel/sched/topology.c > +++ b/kernel/sched/topology.c > @@ -1554,6 +1554,7 @@ static struct cpumask ***sched_domains_numa_masks; > * function: > * > * SD_SHARE_CPUCAPACITY - describes SMT topologies > + * SD_CLUSTER - describes CPU Cluster topologies So I know this is the naming we've gone for the "Cluster" naming, but this comment isn't really explaining anything. include/linux/sched/sd_flags.h has a bit more info already: * Domain members share CPU cluster (LLC tags or L2 cache) I had to go through a bit of git history to remember what the CLUSTER thing was about, how about this: * SD_CLUSTER - describes shared shared caches, cache tags or busses * SD_SHARE_PKG_RESOURCES - describes shared LLC cache And looking at this it would make sense to: rename SD_CLUSTER into SD_SHARE_PKG_RESOURCES rename SD_SHARE_PKG_RESOURCES into SD_SHARE_LLC but that's another topic... > * SD_SHARE_PKG_RESOURCES - describes shared caches > * SD_NUMA - describes NUMA topologies > * > -- > 2.43.0
On 2/2/24 10:27 PM, Valentin Schneider wrote: > > Subject nit: the prefix should be sched/topology > > On 01/02/24 19:54, alexs@kernel.org wrote: >> From: Alex Shi <alexs@kernel.org> >> >> The description of SD_CLUSTER is missing. Add it. >> >> Signed-off-by: Alex Shi <alexs@kernel.org> >> To: Ricardo Neri <ricardo.neri-calderon@linux.intel.com> >> To: Valentin Schneider <vschneid@redhat.com> >> To: Vincent Guittot <vincent.guittot@linaro.org> >> To: Juri Lelli <juri.lelli@redhat.com> >> To: Peter Zijlstra <peterz@infradead.org> >> To: Ingo Molnar <mingo@redhat.com> >> --- >> kernel/sched/topology.c | 1 + >> 1 file changed, 1 insertion(+) >> >> diff --git a/kernel/sched/topology.c b/kernel/sched/topology.c >> index 10d1391e7416..8b45f16a1890 100644 >> --- a/kernel/sched/topology.c >> +++ b/kernel/sched/topology.c >> @@ -1554,6 +1554,7 @@ static struct cpumask ***sched_domains_numa_masks; >> * function: >> * >> * SD_SHARE_CPUCAPACITY - describes SMT topologies >> + * SD_CLUSTER - describes CPU Cluster topologies > > So I know this is the naming we've gone for the "Cluster" naming, but this > comment isn't really explaining anything. > > include/linux/sched/sd_flags.h has a bit more info already: > * Domain members share CPU cluster (LLC tags or L2 cache) > > I had to go through a bit of git history to remember what the CLUSTER thing > was about, how about this: > > * SD_CLUSTER - describes shared shared caches, cache tags or busses Double "shared", so could we use: * SD_CLUSTER - describes shared caches, cache tags or busses? > * SD_SHARE_PKG_RESOURCES - describes shared LLC cache > > And looking at this it would make sense to: > rename SD_CLUSTER into SD_SHARE_PKG_RESOURCES > rename SD_SHARE_PKG_RESOURCES into SD_SHARE_LLC > but that's another topic... Uh, naming is a hard things. :) Thanks Alex > >> * SD_SHARE_PKG_RESOURCES - describes shared caches >> * SD_NUMA - describes NUMA topologies >> * >> -- >> 2.43.0 >
On Fri, Feb 02, 2024 at 03:27:32PM +0100, Valentin Schneider wrote: > > Subject nit: the prefix should be sched/topology > > On 01/02/24 19:54, alexs@kernel.org wrote: > > From: Alex Shi <alexs@kernel.org> > > > > The description of SD_CLUSTER is missing. Add it. > > > > Signed-off-by: Alex Shi <alexs@kernel.org> > > To: Ricardo Neri <ricardo.neri-calderon@linux.intel.com> > > To: Valentin Schneider <vschneid@redhat.com> > > To: Vincent Guittot <vincent.guittot@linaro.org> > > To: Juri Lelli <juri.lelli@redhat.com> > > To: Peter Zijlstra <peterz@infradead.org> > > To: Ingo Molnar <mingo@redhat.com> > > --- > > kernel/sched/topology.c | 1 + > > 1 file changed, 1 insertion(+) > > > > diff --git a/kernel/sched/topology.c b/kernel/sched/topology.c > > index 10d1391e7416..8b45f16a1890 100644 > > --- a/kernel/sched/topology.c > > +++ b/kernel/sched/topology.c > > @@ -1554,6 +1554,7 @@ static struct cpumask ***sched_domains_numa_masks; > > * function: > > * > > * SD_SHARE_CPUCAPACITY - describes SMT topologies > > + * SD_CLUSTER - describes CPU Cluster topologies > > So I know this is the naming we've gone for the "Cluster" naming, but this > comment isn't really explaining anything. > > include/linux/sched/sd_flags.h has a bit more info already: > * Domain members share CPU cluster (LLC tags or L2 cache) I also thought of this, but I didn't want to suggest to repeat in topolog.c what is described in sd_flags.h. Maybe it is better to remove the descriptions of all flags here and instead direct the reader to sd_flags.h? > > I had to go through a bit of git history to remember what the CLUSTER thing > was about, how about this: > > * SD_CLUSTER - describes shared shared caches, cache tags or busses AFAIK, this describes a subset of CPUs in the package that share a resource, likely L2 cache. > * SD_SHARE_PKG_RESOURCES - describes shared LLC cache > > And looking at this it would make sense to: > rename SD_CLUSTER into SD_SHARE_PKG_RESOURCES but not all CPUs in the package share the resource > rename SD_SHARE_PKG_RESOURCES into SD_SHARE_LLC > but that's another topic... >
On 2024/2/2 22:27, Valentin Schneider wrote: > > Subject nit: the prefix should be sched/topology > > On 01/02/24 19:54, alexs@kernel.org wrote: >> From: Alex Shi <alexs@kernel.org> >> >> The description of SD_CLUSTER is missing. Add it. >> >> Signed-off-by: Alex Shi <alexs@kernel.org> >> To: Ricardo Neri <ricardo.neri-calderon@linux.intel.com> >> To: Valentin Schneider <vschneid@redhat.com> >> To: Vincent Guittot <vincent.guittot@linaro.org> >> To: Juri Lelli <juri.lelli@redhat.com> >> To: Peter Zijlstra <peterz@infradead.org> >> To: Ingo Molnar <mingo@redhat.com> >> --- >> kernel/sched/topology.c | 1 + >> 1 file changed, 1 insertion(+) >> >> diff --git a/kernel/sched/topology.c b/kernel/sched/topology.c >> index 10d1391e7416..8b45f16a1890 100644 >> --- a/kernel/sched/topology.c >> +++ b/kernel/sched/topology.c >> @@ -1554,6 +1554,7 @@ static struct cpumask ***sched_domains_numa_masks; >> * function: >> * >> * SD_SHARE_CPUCAPACITY - describes SMT topologies >> + * SD_CLUSTER - describes CPU Cluster topologies > > So I know this is the naming we've gone for the "Cluster" naming, but this > comment isn't really explaining anything. > > include/linux/sched/sd_flags.h has a bit more info already: > * Domain members share CPU cluster (LLC tags or L2 cache) > Cluster topology in scheduler should mean CPUs beyond the SMT which are sharing some cache resources (currently L2 on some Intel platforms or L3 Tag on our platforms) but not the LLC. A drawing in c5e22feffdd7 ("topology: Represent clusters of CPUs within a die") has a good illustration and comment of cpus_share_resources() also illustrate this a bit: /* * Whether CPUs are share cache resources, which means LLC on non-cluster * machines and LLC tag or L2 on machines with clusters. */ bool cpus_share_resources(int this_cpu, int that_cpu) > I had to go through a bit of git history to remember what the CLUSTER thing > was about, how about this: > > * SD_CLUSTER - describes shared shared caches, cache tags or busses > * SD_SHARE_PKG_RESOURCES - describes shared LLC cache > > And looking at this it would make sense to: > rename SD_CLUSTER into SD_SHARE_PKG_RESOURCES > rename SD_SHARE_PKG_RESOURCES into SD_SHARE_LLC > but that's another topic... > >> * SD_SHARE_PKG_RESOURCES - describes shared caches >> * SD_NUMA - describes NUMA topologies >> * >> -- >> 2.43.0 > > > . >
On 2/6/24 10:46 AM, Ricardo Neri wrote: > On Fri, Feb 02, 2024 at 03:27:32PM +0100, Valentin Schneider wrote: >> >> Subject nit: the prefix should be sched/topology >> >> On 01/02/24 19:54, alexs@kernel.org wrote: >>> From: Alex Shi <alexs@kernel.org> >>> >>> The description of SD_CLUSTER is missing. Add it. >>> >>> Signed-off-by: Alex Shi <alexs@kernel.org> >>> To: Ricardo Neri <ricardo.neri-calderon@linux.intel.com> >>> To: Valentin Schneider <vschneid@redhat.com> >>> To: Vincent Guittot <vincent.guittot@linaro.org> >>> To: Juri Lelli <juri.lelli@redhat.com> >>> To: Peter Zijlstra <peterz@infradead.org> >>> To: Ingo Molnar <mingo@redhat.com> >>> --- >>> kernel/sched/topology.c | 1 + >>> 1 file changed, 1 insertion(+) >>> >>> diff --git a/kernel/sched/topology.c b/kernel/sched/topology.c >>> index 10d1391e7416..8b45f16a1890 100644 >>> --- a/kernel/sched/topology.c >>> +++ b/kernel/sched/topology.c >>> @@ -1554,6 +1554,7 @@ static struct cpumask ***sched_domains_numa_masks; >>> * function: >>> * >>> * SD_SHARE_CPUCAPACITY - describes SMT topologies >>> + * SD_CLUSTER - describes CPU Cluster topologies >> >> So I know this is the naming we've gone for the "Cluster" naming, but this >> comment isn't really explaining anything. >> >> include/linux/sched/sd_flags.h has a bit more info already: >> * Domain members share CPU cluster (LLC tags or L2 cache) > > I also thought of this, but I didn't want to suggest to repeat in topolog.c > what is described in sd_flags.h. > > Maybe it is better to remove the descriptions of all flags here and instead > direct the reader to sd_flags.h? yes, good idea for getting their meaning directly from the header file. So is it fine for next sending? sched/fair: remove duplicate comments for SD_ flags Originally, it missed SD_CLUSTER flag description, but comparing to copy the flags meaning from sd_flags.h, reader is better to get info from there. Keep SD_ASYM_PACKING unchange for a point from another way. Signed-off-by: Alex Shi <alexs@kernel.org> To: Ricardo Neri <ricardo.neri-calderon@linux.intel.com> To: Valentin Schneider <vschneid@redhat.com> To: Vincent Guittot <vincent.guittot@linaro.org> To: Juri Lelli <juri.lelli@redhat.com> To: Peter Zijlstra <peterz@infradead.org> To: Ingo Molnar <mingo@redhat.com> diff --git a/kernel/sched/topology.c b/kernel/sched/topology.c index 10d1391e7416..96a24bf954ad 100644 --- a/kernel/sched/topology.c +++ b/kernel/sched/topology.c @@ -1551,11 +1551,7 @@ static struct cpumask ***sched_domains_numa_masks; * * These flags are purely descriptive of the topology and do not prescribe * behaviour. Behaviour is artificial and mapped in the below sd_init() - * function: - * - * SD_SHARE_CPUCAPACITY - describes SMT topologies - * SD_SHARE_PKG_RESOURCES - describes shared caches - * SD_NUMA - describes NUMA topologies + * function, for details in include/linux/sched/sd_flags.h: * * Odd one out, which beside describing the topology has a quirk also * prescribes the desired behaviour that goes along with it: > >> >> I had to go through a bit of git history to remember what the CLUSTER thing >> was about, how about this: >> >> * SD_CLUSTER - describes shared shared caches, cache tags or busses > > AFAIK, this describes a subset of CPUs in the package that share a > resource, likely L2 cache. > >> * SD_SHARE_PKG_RESOURCES - describes shared LLC cache >> >> And looking at this it would make sense to: >> rename SD_CLUSTER into SD_SHARE_PKG_RESOURCES > > but not all CPUs in the package share the resource > >> rename SD_SHARE_PKG_RESOURCES into SD_SHARE_LLC >> but that's another topic... >>
On 05/02/24 18:46, Ricardo Neri wrote: > On Fri, Feb 02, 2024 at 03:27:32PM +0100, Valentin Schneider wrote: >> >> Subject nit: the prefix should be sched/topology >> >> On 01/02/24 19:54, alexs@kernel.org wrote: >> > From: Alex Shi <alexs@kernel.org> >> > >> > The description of SD_CLUSTER is missing. Add it. >> > >> > Signed-off-by: Alex Shi <alexs@kernel.org> >> > To: Ricardo Neri <ricardo.neri-calderon@linux.intel.com> >> > To: Valentin Schneider <vschneid@redhat.com> >> > To: Vincent Guittot <vincent.guittot@linaro.org> >> > To: Juri Lelli <juri.lelli@redhat.com> >> > To: Peter Zijlstra <peterz@infradead.org> >> > To: Ingo Molnar <mingo@redhat.com> >> > --- >> > kernel/sched/topology.c | 1 + >> > 1 file changed, 1 insertion(+) >> > >> > diff --git a/kernel/sched/topology.c b/kernel/sched/topology.c >> > index 10d1391e7416..8b45f16a1890 100644 >> > --- a/kernel/sched/topology.c >> > +++ b/kernel/sched/topology.c >> > @@ -1554,6 +1554,7 @@ static struct cpumask ***sched_domains_numa_masks; >> > * function: >> > * >> > * SD_SHARE_CPUCAPACITY - describes SMT topologies >> > + * SD_CLUSTER - describes CPU Cluster topologies >> >> So I know this is the naming we've gone for the "Cluster" naming, but this >> comment isn't really explaining anything. >> >> include/linux/sched/sd_flags.h has a bit more info already: >> * Domain members share CPU cluster (LLC tags or L2 cache) > > I also thought of this, but I didn't want to suggest to repeat in topolog.c > what is described in sd_flags.h. > > Maybe it is better to remove the descriptions of all flags here and instead > direct the reader to sd_flags.h? > Yeah I agree on less duplication. >> >> I had to go through a bit of git history to remember what the CLUSTER thing >> was about, how about this: >> >> * SD_CLUSTER - describes shared shared caches, cache tags or busses > > AFAIK, this describes a subset of CPUs in the package that share a > resource, likely L2 cache. > >> * SD_SHARE_PKG_RESOURCES - describes shared LLC cache >> >> And looking at this it would make sense to: >> rename SD_CLUSTER into SD_SHARE_PKG_RESOURCES > > but not all CPUs in the package share the resource But SD_CLUSTER never expands beyond the package, right? Regardless, my main point is that having both SD_CLUSTER and SD_SHARE_PKG_RESOURCES is a source of confusion (at the very least for myself), and given SD_SHARE_PKG_RESOURCES is really used to mean "shares LLC" (see update_top_cache_domain()), we could make that flag more explicit and lift some ambiguity with SD_CLUSTER. > >> rename SD_SHARE_PKG_RESOURCES into SD_SHARE_LLC >> but that's another topic... >>
On Tue, Feb 06, 2024 at 04:56:02PM +0800, kuiliang Shi wrote: > > > On 2/6/24 10:46 AM, Ricardo Neri wrote: > > On Fri, Feb 02, 2024 at 03:27:32PM +0100, Valentin Schneider wrote: > >> > >> Subject nit: the prefix should be sched/topology > >> > >> On 01/02/24 19:54, alexs@kernel.org wrote: > >>> From: Alex Shi <alexs@kernel.org> > >>> > >>> The description of SD_CLUSTER is missing. Add it. > >>> > >>> Signed-off-by: Alex Shi <alexs@kernel.org> > >>> To: Ricardo Neri <ricardo.neri-calderon@linux.intel.com> > >>> To: Valentin Schneider <vschneid@redhat.com> > >>> To: Vincent Guittot <vincent.guittot@linaro.org> > >>> To: Juri Lelli <juri.lelli@redhat.com> > >>> To: Peter Zijlstra <peterz@infradead.org> > >>> To: Ingo Molnar <mingo@redhat.com> > >>> --- > >>> kernel/sched/topology.c | 1 + > >>> 1 file changed, 1 insertion(+) > >>> > >>> diff --git a/kernel/sched/topology.c b/kernel/sched/topology.c > >>> index 10d1391e7416..8b45f16a1890 100644 > >>> --- a/kernel/sched/topology.c > >>> +++ b/kernel/sched/topology.c > >>> @@ -1554,6 +1554,7 @@ static struct cpumask ***sched_domains_numa_masks; > >>> * function: > >>> * > >>> * SD_SHARE_CPUCAPACITY - describes SMT topologies > >>> + * SD_CLUSTER - describes CPU Cluster topologies > >> > >> So I know this is the naming we've gone for the "Cluster" naming, but this > >> comment isn't really explaining anything. > >> > >> include/linux/sched/sd_flags.h has a bit more info already: > >> * Domain members share CPU cluster (LLC tags or L2 cache) > > > > I also thought of this, but I didn't want to suggest to repeat in topolog.c > > what is described in sd_flags.h. > > > > Maybe it is better to remove the descriptions of all flags here and instead > > direct the reader to sd_flags.h? > > yes, good idea for getting their meaning directly from the header file. > So is it fine for next sending? Some tweaks below. > > sched/fair: remove duplicate comments for SD_ flags sched/topology: Remove duplicate descriptions from TOPOLOGY_SD_FLAGS > > Originally, it missed SD_CLUSTER flag description, but comparing to copy > the flags meaning from sd_flags.h, reader is better to get info from > there. These flags are already documented in include/linux/sched/sd_flags.h. Keep the comment on SD_ASYM_PACKING as it is a special case. > > Keep SD_ASYM_PACKING unchange for a point from another way. > > Signed-off-by: Alex Shi <alexs@kernel.org> > To: Ricardo Neri <ricardo.neri-calderon@linux.intel.com> > To: Valentin Schneider <vschneid@redhat.com> > To: Vincent Guittot <vincent.guittot@linaro.org> > To: Juri Lelli <juri.lelli@redhat.com> > To: Peter Zijlstra <peterz@infradead.org> > To: Ingo Molnar <mingo@redhat.com> > > diff --git a/kernel/sched/topology.c b/kernel/sched/topology.c > index 10d1391e7416..96a24bf954ad 100644 > --- a/kernel/sched/topology.c > +++ b/kernel/sched/topology.c > @@ -1551,11 +1551,7 @@ static struct cpumask ***sched_domains_numa_masks; > * > * These flags are purely descriptive of the topology and do not prescribe > * behaviour. Behaviour is artificial and mapped in the below sd_init() > - * function: > - * > - * SD_SHARE_CPUCAPACITY - describes SMT topologies > - * SD_SHARE_PKG_RESOURCES - describes shared caches > - * SD_NUMA - describes NUMA topologies Maybe only remove the descriptions but keep the enumeration? > + * function, for details in include/linux/sched/sd_flags.h: function. For details, see include/linux/sched/sd_flags.h.
On Tue, Feb 06, 2024 at 02:16:06PM +0100, Valentin Schneider wrote: > On 05/02/24 18:46, Ricardo Neri wrote: > > On Fri, Feb 02, 2024 at 03:27:32PM +0100, Valentin Schneider wrote: > >> > >> Subject nit: the prefix should be sched/topology > >> > >> On 01/02/24 19:54, alexs@kernel.org wrote: > >> > From: Alex Shi <alexs@kernel.org> > >> > > >> > The description of SD_CLUSTER is missing. Add it. > >> > > >> > Signed-off-by: Alex Shi <alexs@kernel.org> > >> > To: Ricardo Neri <ricardo.neri-calderon@linux.intel.com> > >> > To: Valentin Schneider <vschneid@redhat.com> > >> > To: Vincent Guittot <vincent.guittot@linaro.org> > >> > To: Juri Lelli <juri.lelli@redhat.com> > >> > To: Peter Zijlstra <peterz@infradead.org> > >> > To: Ingo Molnar <mingo@redhat.com> > >> > --- > >> > kernel/sched/topology.c | 1 + > >> > 1 file changed, 1 insertion(+) > >> > > >> > diff --git a/kernel/sched/topology.c b/kernel/sched/topology.c > >> > index 10d1391e7416..8b45f16a1890 100644 > >> > --- a/kernel/sched/topology.c > >> > +++ b/kernel/sched/topology.c > >> > @@ -1554,6 +1554,7 @@ static struct cpumask ***sched_domains_numa_masks; > >> > * function: > >> > * > >> > * SD_SHARE_CPUCAPACITY - describes SMT topologies > >> > + * SD_CLUSTER - describes CPU Cluster topologies > >> > >> So I know this is the naming we've gone for the "Cluster" naming, but this > >> comment isn't really explaining anything. > >> > >> include/linux/sched/sd_flags.h has a bit more info already: > >> * Domain members share CPU cluster (LLC tags or L2 cache) > > > > I also thought of this, but I didn't want to suggest to repeat in topolog.c > > what is described in sd_flags.h. > > > > Maybe it is better to remove the descriptions of all flags here and instead > > direct the reader to sd_flags.h? > > > > Yeah I agree on less duplication. > > >> > >> I had to go through a bit of git history to remember what the CLUSTER thing > >> was about, how about this: > >> > >> * SD_CLUSTER - describes shared shared caches, cache tags or busses > > > > AFAIK, this describes a subset of CPUs in the package that share a > > resource, likely L2 cache. > > > >> * SD_SHARE_PKG_RESOURCES - describes shared LLC cache > >> > >> And looking at this it would make sense to: > >> rename SD_CLUSTER into SD_SHARE_PKG_RESOURCES > > > > but not all CPUs in the package share the resource > > But SD_CLUSTER never expands beyond the package, right? Correct. > > Regardless, my main point is that having both SD_CLUSTER and > SD_SHARE_PKG_RESOURCES is a source of confusion (at the very least for > myself), Agreed! > and given SD_SHARE_PKG_RESOURCES is really used to mean "shares > LLC" (see update_top_cache_domain()), we could make that flag more explicit > and lift some ambiguity with SD_CLUSTER. As Yicong stated, cluster topology should mean CPUs beyond SMT that share some resource but not LLC. It makes sense to me to keep SD_CLUSTER name as it is today and rename SD_SHARE_PKG_RESOURCES as SD_SHARE_LLC.
On 2/7/24 5:57 AM, Ricardo Neri wrote: > On Tue, Feb 06, 2024 at 02:16:06PM +0100, Valentin Schneider wrote: >> On 05/02/24 18:46, Ricardo Neri wrote: >>> On Fri, Feb 02, 2024 at 03:27:32PM +0100, Valentin Schneider wrote: >>>> >>>> Subject nit: the prefix should be sched/topology >>>> >>>> On 01/02/24 19:54, alexs@kernel.org wrote: >>>>> From: Alex Shi <alexs@kernel.org> >>>>> >>>>> The description of SD_CLUSTER is missing. Add it. >>>>> >>>>> Signed-off-by: Alex Shi <alexs@kernel.org> >>>>> To: Ricardo Neri <ricardo.neri-calderon@linux.intel.com> >>>>> To: Valentin Schneider <vschneid@redhat.com> >>>>> To: Vincent Guittot <vincent.guittot@linaro.org> >>>>> To: Juri Lelli <juri.lelli@redhat.com> >>>>> To: Peter Zijlstra <peterz@infradead.org> >>>>> To: Ingo Molnar <mingo@redhat.com> >>>>> --- >>>>> kernel/sched/topology.c | 1 + >>>>> 1 file changed, 1 insertion(+) >>>>> >>>>> diff --git a/kernel/sched/topology.c b/kernel/sched/topology.c >>>>> index 10d1391e7416..8b45f16a1890 100644 >>>>> --- a/kernel/sched/topology.c >>>>> +++ b/kernel/sched/topology.c >>>>> @@ -1554,6 +1554,7 @@ static struct cpumask ***sched_domains_numa_masks; >>>>> * function: >>>>> * >>>>> * SD_SHARE_CPUCAPACITY - describes SMT topologies >>>>> + * SD_CLUSTER - describes CPU Cluster topologies >>>> >>>> So I know this is the naming we've gone for the "Cluster" naming, but this >>>> comment isn't really explaining anything. >>>> >>>> include/linux/sched/sd_flags.h has a bit more info already: >>>> * Domain members share CPU cluster (LLC tags or L2 cache) >>> >>> I also thought of this, but I didn't want to suggest to repeat in topolog.c >>> what is described in sd_flags.h. >>> >>> Maybe it is better to remove the descriptions of all flags here and instead >>> direct the reader to sd_flags.h? >>> >> >> Yeah I agree on less duplication. >> >>>> >>>> I had to go through a bit of git history to remember what the CLUSTER thing >>>> was about, how about this: >>>> >>>> * SD_CLUSTER - describes shared shared caches, cache tags or busses >>> >>> AFAIK, this describes a subset of CPUs in the package that share a >>> resource, likely L2 cache. >>> >>>> * SD_SHARE_PKG_RESOURCES - describes shared LLC cache >>>> >>>> And looking at this it would make sense to: >>>> rename SD_CLUSTER into SD_SHARE_PKG_RESOURCES >>> >>> but not all CPUs in the package share the resource >> >> But SD_CLUSTER never expands beyond the package, right? > > Correct. > >> >> Regardless, my main point is that having both SD_CLUSTER and >> SD_SHARE_PKG_RESOURCES is a source of confusion (at the very least for >> myself), > > Agreed! > >> and given SD_SHARE_PKG_RESOURCES is really used to mean "shares >> LLC" (see update_top_cache_domain()), we could make that flag more explicit >> and lift some ambiguity with SD_CLUSTER. > > As Yicong stated, cluster topology should mean CPUs beyond SMT that share > some resource but not LLC. > > It makes sense to me to keep SD_CLUSTER name as it is today and rename > SD_SHARE_PKG_RESOURCES as SD_SHARE_LLC. yes, agree with his.
On 2/7/24 5:24 AM, Ricardo Neri wrote: > On Tue, Feb 06, 2024 at 04:56:02PM +0800, kuiliang Shi wrote: >> >> >> On 2/6/24 10:46 AM, Ricardo Neri wrote: >>> On Fri, Feb 02, 2024 at 03:27:32PM +0100, Valentin Schneider wrote: >>>> >>>> Subject nit: the prefix should be sched/topology >>>> >>>> On 01/02/24 19:54, alexs@kernel.org wrote: >>>>> From: Alex Shi <alexs@kernel.org> >>>>> >>>>> The description of SD_CLUSTER is missing. Add it. >>>>> >>>>> Signed-off-by: Alex Shi <alexs@kernel.org> >>>>> To: Ricardo Neri <ricardo.neri-calderon@linux.intel.com> >>>>> To: Valentin Schneider <vschneid@redhat.com> >>>>> To: Vincent Guittot <vincent.guittot@linaro.org> >>>>> To: Juri Lelli <juri.lelli@redhat.com> >>>>> To: Peter Zijlstra <peterz@infradead.org> >>>>> To: Ingo Molnar <mingo@redhat.com> >>>>> --- >>>>> kernel/sched/topology.c | 1 + >>>>> 1 file changed, 1 insertion(+) >>>>> >>>>> diff --git a/kernel/sched/topology.c b/kernel/sched/topology.c >>>>> index 10d1391e7416..8b45f16a1890 100644 >>>>> --- a/kernel/sched/topology.c >>>>> +++ b/kernel/sched/topology.c >>>>> @@ -1554,6 +1554,7 @@ static struct cpumask ***sched_domains_numa_masks; >>>>> * function: >>>>> * >>>>> * SD_SHARE_CPUCAPACITY - describes SMT topologies >>>>> + * SD_CLUSTER - describes CPU Cluster topologies >>>> >>>> So I know this is the naming we've gone for the "Cluster" naming, but this >>>> comment isn't really explaining anything. >>>> >>>> include/linux/sched/sd_flags.h has a bit more info already: >>>> * Domain members share CPU cluster (LLC tags or L2 cache) >>> >>> I also thought of this, but I didn't want to suggest to repeat in topolog.c >>> what is described in sd_flags.h. >>> >>> Maybe it is better to remove the descriptions of all flags here and instead >>> direct the reader to sd_flags.h? >> >> yes, good idea for getting their meaning directly from the header file. >> So is it fine for next sending? > > Some tweaks below. > >> >> sched/fair: remove duplicate comments for SD_ flags > > sched/topology: Remove duplicate descriptions from TOPOLOGY_SD_FLAGS >> >> Originally, it missed SD_CLUSTER flag description, but comparing to copy >> the flags meaning from sd_flags.h, reader is better to get info from >> there. > > These flags are already documented in include/linux/sched/sd_flags.h. > > Keep the comment on SD_ASYM_PACKING as it is a special case. >> >> Keep SD_ASYM_PACKING unchange for a point from another way. >> >> Signed-off-by: Alex Shi <alexs@kernel.org> >> To: Ricardo Neri <ricardo.neri-calderon@linux.intel.com> >> To: Valentin Schneider <vschneid@redhat.com> >> To: Vincent Guittot <vincent.guittot@linaro.org> >> To: Juri Lelli <juri.lelli@redhat.com> >> To: Peter Zijlstra <peterz@infradead.org> >> To: Ingo Molnar <mingo@redhat.com> >> >> diff --git a/kernel/sched/topology.c b/kernel/sched/topology.c >> index 10d1391e7416..96a24bf954ad 100644 >> --- a/kernel/sched/topology.c >> +++ b/kernel/sched/topology.c >> @@ -1551,11 +1551,7 @@ static struct cpumask ***sched_domains_numa_masks; >> * >> * These flags are purely descriptive of the topology and do not prescribe >> * behaviour. Behaviour is artificial and mapped in the below sd_init() >> - * function: >> - * >> - * SD_SHARE_CPUCAPACITY - describes SMT topologies >> - * SD_SHARE_PKG_RESOURCES - describes shared caches >> - * SD_NUMA - describes NUMA topologies > > Maybe only remove the descriptions but keep the enumeration? > >> + * function, for details in include/linux/sched/sd_flags.h: > > function. For details, see include/linux/sched/sd_flags.h. > Thanks for comments. will update in next version. >
diff --git a/kernel/sched/topology.c b/kernel/sched/topology.c index 10d1391e7416..8b45f16a1890 100644 --- a/kernel/sched/topology.c +++ b/kernel/sched/topology.c @@ -1554,6 +1554,7 @@ static struct cpumask ***sched_domains_numa_masks; * function: * * SD_SHARE_CPUCAPACITY - describes SMT topologies + * SD_CLUSTER - describes CPU Cluster topologies * SD_SHARE_PKG_RESOURCES - describes shared caches * SD_NUMA - describes NUMA topologies *