[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-riscv
mailing list