[PATCH v4 00/20] arch_topology: Updates to add socket support and fix cluster ids

Ionela Voinescu ionela.voinescu at arm.com
Mon Jun 27 06:54:28 PDT 2022


Hi Sudeep,

On Tuesday 21 Jun 2022 at 20:20:14 (+0100), Sudeep Holla wrote:
> Hi All,
> 
> This version updates cacheinfo to populate and use the information from
> there for all the cache topology.
> 
> This series intends to fix some discrepancies we have in the CPU topology
> parsing from the device tree /cpu-map node. Also this diverges from the
> behaviour on a ACPI enabled platform. The expectation is that both DT
> and ACPI enabled systems must present consistent view of the CPU topology.
> 
> Currently we assign generated cluster count as the physical package identifier
> for each CPU which is wrong. The device tree bindings for CPU topology supports
> sockets to infer the socket or physical package identifier for a given CPU.
> Also we don't check if all the cores/threads belong to the same cluster before
> updating their sibling masks which is fine as we don't set the cluster id yet.
> 
> These changes also assigns the cluster identifier as parsed from the device tree
> cluster nodes within /cpu-map without support for nesting of the clusters.
> Finally, it also add support for socket nodes in /cpu-map. With this the
> parsing of exact same information from ACPI PPTT and /cpu-map DT node
> aligns well.
> 
> The only exception is that the last level cache id information can be
> inferred from the same ACPI PPTT while we need to parse CPU cache nodes
> in the device tree.
> 
> Hi Greg,
> 
> I had not cc-ed you on earlier 3 versions as we had some disagreement
> amongst Arm developers which we have not settled. Let me know how you want to

s/not/now :)

> merge this once you agree with the changes. I can set pull request if
> you prefer. Let me know.
> 
> v4[3]->v4:
> 	- Updated ACPI PPTT fw_token to use table offset instead of virtual
> 	  address as it could get changed for everytime it is mapped before
> 	  the global acpi_permanent_mmap is set
> 	- Added warning for the topology with nested clusters
> 	- Added update to cpu_clustergroup_mask so that introduction of
> 	  correct cluster_id doesn't break existing platforms by limiting
> 	  the span of clustergroup_mask(by Ionela)
> 

I've tested v4 on quite a few platforms:
 - DT: Juno R0, DB845c, RB5
 - ACPI: TX2, Ampere Altra, Kunpeng920

and it all looks good from my point of view (topology and sched domain
hierarchy).

So for the full set (after the changes requested for 16/20 and 20/20):

Tested-by: Ionela Voinescu <ionela.voinescu at arm.com>

Hope it helps,
Ionela.



More information about the linux-arm-kernel mailing list