[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20220513085624.wnawifzi3nqhbuh3@bogus>
Date: Fri, 13 May 2022 09:56:24 +0100
From: Sudeep Holla <sudeep.holla@....com>
To: Dietmar Eggemann <dietmar.eggemann@....com>
Cc: Qing Wang <wangqing@...o.com>, Sudeep Holla <sudeep.holla@....com>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
"Rafael J. Wysocki" <rafael@...nel.org>,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH V2] arch_topology: support parsing cluster_id from DT
On Fri, May 13, 2022 at 10:36:26AM +0200, Dietmar Eggemann wrote:
> On 12/05/2022 16:17, Sudeep Holla wrote:
> > On Wed, May 11, 2022 at 02:52:56AM -0700, Qing Wang wrote:
> >> From: Wang Qing <wangqing@...o.com>
> >>
> >> Use nested cluster structures in DT to support describing multi-level
> >> cluster topologies and increase the parsing of nested cluster.
> >>
> >> Notice: the clusters describing in DT currently are not physical
> >> boundaries, since changing "cluster" to "socket" is too involved and error
> >> prone, this patch will not have any effect on one-level cluster topo, but
> >> can support the mutil-level cluster topo to support CLUSTER_SCHED.
> >
> > Sorry the socket/package_id is broken. If we are playing with cluster_id
> > which is now wrongly presented as package_id, you are forced to fix that
> > too. We don't want to break that in a different way or leave that as is
> > since the cluster_id and package ids now show up as same now. Earlier the
> > cluster_id was -1.
>
> We can leave package_id=0 (and maybe add socket parsing later) and use
> llc_id instead. Like some Arm server do via ACPI. This will leave
> cluster_id for Armv9 L2 sharing. cluster_id is also used in servers for
> 2. level "clustering", e.g. Kunpeng920 L3-tags or Ampere Altra's SCU
> boundaries.
>
OK I need to brush up my knowledge there. IIUC, the cluster id and llc_id are
different and I don't believe you can mix them. There are platforms with
system-wide(meaning including all the clusters) last level cache. This
may break on those platforms.
Also IIRC ACPI PPTT has both find_cpu_cluster and find_last_level_cache
(names may differ as I haven't looked at the code) which are entirely
different. They may be same on some platforms but the information source
is definitely different.
> This way we can achieve both. (1) not use package_id for cluster and (2)
> have cluster_id available for 2. level cluster.
>
> I just send out a lightly tested RFC:
>
> https://lkml.kernel.org/r/20220513083400.343706-1-dietmar.eggemann@arm.com
>
OK, I will take a look, but llc_id and cluster_id are fundamentally different.
Let me see what you have done in the patch exactly and comment there.
--
Regards,
Sudeep
Powered by blists - more mailing lists