Re: [PATCH v2 1/8] arch_topology: Don't set cluster identifier as physical package identifier

From: Sudeep Holla
Date: Fri May 20 2022 - 09:14:00 EST


On Fri, May 20, 2022 at 02:31:24PM +0200, Dietmar Eggemann wrote:
> On 18/05/2022 11:33, Sudeep Holla wrote:
>
> You say `cluster identifier` which to me refers to
> `cpu_topology[cpu].cluster_id`. But I guess you meant `cluster node`
> from cpu-map DT node?
>

Correct, I am referring to the leaf cluster node identifier in terms
of cpu-map DT node which we now store in cpu_topology[cpu].cluster_id as
part of this series instead of previous cpu_topology[cpu].package_id.

> Otherwise you say we link (1.level) cpu-map cluster nodes to
> `cluster_id\_sibling`? But then (1) we will never support nested
> clusters and (2) why would we need llc support then?
>

(1) Do we have any platforms with nested clusters today ? No phantom
clusters please as this is info that gets to the userspace and must
reflect the real hardware. If one exist, then we need to add nested
cluster if we need to support that hardware. I am not aware of any
platform in particular DT based one.
(2) LLC was added to support chiplets. IIRC, cpu_coregroup_mask was changed
to select the smallest of LLC, socket siblings, and NUMA node siblings
to ensure that the sched domain we build for the MC layer isn't larger
than the DIE above it or it's shrunk to the socket or NUMA node if LLC
exist across NUMA node/chiplets.

But overtime, we have patched cpu_coregroup_mask to workaround things
which I think is now about to break 🙁.

--
Regards,
Sudeep