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

Ionela Voinescu ionela.voinescu at arm.com
Mon Jun 27 06:43:47 PDT 2022


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 at arm.com>

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

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
> 



More information about the linux-riscv mailing list