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

Sudeep Holla sudeep.holla at arm.com
Mon Jun 27 09:22:11 PDT 2022


On Mon, Jun 27, 2022 at 02:54:28PM +0100, Ionela Voinescu wrote:
> 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>
>

Thanks for all the review and testing. Much appreciated!

-- 
Regards,
Sudeep



More information about the linux-riscv mailing list