Re: [PATCH v4 16/20] arch_topology: Drop unnecessary check for uninitialised package_id
From: Ionela Voinescu <hidden>
Date: 2022-06-27 13:16:19
Also in:
linux-riscv, lkml
On Tuesday 21 Jun 2022 at 20:20:30 (+0100), Sudeep Holla wrote:
quoted hunk ↗ jump to hunk
With the support of socket node parsing from the device tree and assigning 0 as package_id in absence of socket nodes, there is no need to check for invalid package_id. It is always initialised to 0 or values from the device tree socket nodes. Just drop that now redundant check for uninitialised package_id. Signed-off-by: Sudeep Holla <redacted> --- drivers/base/arch_topology.c | 11 ----------- 1 file changed, 11 deletions(-)diff --git a/drivers/base/arch_topology.c b/drivers/base/arch_topology.c index 46fa1b70b02b..42448a5a9412 100644 --- a/drivers/base/arch_topology.c +++ b/drivers/base/arch_topology.c@@ -611,7 +611,6 @@ static int __init parse_dt_topology(void) { struct device_node *cn, *map; int ret = 0; - int cpu; cn = of_find_node_by_path("/cpus"); if (!cn) {@@ -633,16 +632,6 @@ static int __init parse_dt_topology(void) topology_normalize_cpu_scale(); - /* - * Check that all cores are in the topology; the SMP code will - * only mark cores described in the DT as possible. - */ - for_each_possible_cpu(cpu) - if (cpu_topology[cpu].package_id < 0) { - ret = -EINVAL; - break; - } -
Maybe it would still be good to keep this for systems with potential errors in DT, where one forgets to add a core in cpu-map. For example, if I modify juno.dts as follows:
--- a/arch/arm64/boot/dts/arm/juno.dts
+++ b/arch/arm64/boot/dts/arm/juno.dts@@ -51,12 +51,9 @@ core0 { cpu = <&A53_0>; }; core1 { - cpu = <&A53_1>; - }; - core2 { cpu = <&A53_2>; }; - core3 { + core2 { cpu = <&A53_3>; }; };
and miss a little core in cluster1, I would end up with an incomplete topology: core3 would have cluster_id as -1, while all other CPUs would have a valid value; also, core3 would have package_id = -1. Thanks, Ionela.
out_map: of_node_put(map); out: -- 2.36.1
_______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel