lkml.org 
[lkml]   [2022]   [May]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [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@vivo.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

\
 
 \ /
  Last update: 2022-05-13 10:57    [W:0.043 / U:0.304 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site