Messages in this thread | | | Date | Fri, 13 May 2022 09:56:24 +0100 | From | Sudeep Holla <> | 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@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
| |