Re: [PATCH v4 15/20] arch_topology: Don't set cluster identifier as physical package identifier

From: Ionela Voinescu
Date: Mon Jun 27 2022 - 09:43:54 EST


On Tuesday 21 Jun 2022 at 20:20:29 (+0100), Sudeep Holla wrote:
> Currently as we parse the CPU topology from /cpu-map node from the
> device tree, 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. Since it is
> fairly new and not support on most of the old and existing systems, we
^^^^^^^
Nit: supported
> can assume all such systems have single socket/physical package.
>
> Fix the physical package identifier to 0 by removing the assignment of
> cluster identifier to the same.
>
> Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx>

Reviewed-by: Ionela Voinescu <ionela.voinescu@xxxxxxx>

Thanks,
Ionela.

> ---
> drivers/base/arch_topology.c | 6 +-----
> 1 file changed, 1 insertion(+), 5 deletions(-)
>
> diff --git a/drivers/base/arch_topology.c b/drivers/base/arch_topology.c
> index 7a569aefe313..46fa1b70b02b 100644
> --- a/drivers/base/arch_topology.c
> +++ b/drivers/base/arch_topology.c
> @@ -549,7 +549,6 @@ static int __init parse_cluster(struct device_node *cluster, int depth)
> bool leaf = true;
> bool has_cores = false;
> struct device_node *c;
> - static int package_id __initdata;
> int core_id = 0;
> int i, ret;
>
> @@ -588,7 +587,7 @@ static int __init parse_cluster(struct device_node *cluster, int depth)
> }
>
> if (leaf) {
> - ret = parse_core(c, package_id, core_id++);
> + ret = parse_core(c, 0, core_id++);
> } else {
> pr_err("%pOF: Non-leaf cluster with core %s\n",
> cluster, name);
> @@ -605,9 +604,6 @@ static int __init parse_cluster(struct device_node *cluster, int depth)
> if (leaf && !has_cores)
> pr_warn("%pOF: empty cluster\n", cluster);
>
> - if (leaf)
> - package_id++;
> -
> return 0;
> }
>
> --
> 2.36.1
>