Re: [RFC PATCH v2 04/35] drivers: base: Move cpu_dev_init() after node_dev_init()

From: Jonathan Cameron
Date: Thu Sep 14 2023 - 07:16:25 EST


On Wed, 13 Sep 2023 16:37:52 +0000
James Morse <james.morse@xxxxxxx> wrote:

> NUMA systems require the node descriptions to be ready before CPUs are
> registered. This is so that the node symlinks can be created in sysfs.
>
> Currently no NUMA platform uses GENERIC_CPU_DEVICES, meaning that CPUs
> are registered by arch code, instead of cpu_dev_init().

Worth saying why this matters I think. I wrote a nice note on that being a possible
problem path as node_dev_init() uses the results of cpu_dev_init() if
CONFIG_GENERIC_CPU_DEVICES before seeing this comment and realizing you
had it covered (sort of anyway).

>
> Move cpu_dev_init() after node_dev_init() so that NUMA architectures
> can use GENERIC_CPU_DEVICES.
>
> Signed-off-by: James Morse <james.morse@xxxxxxx>
> ---
> drivers/base/init.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/base/init.c b/drivers/base/init.c
> index 397eb9880cec..c4954835128c 100644
> --- a/drivers/base/init.c
> +++ b/drivers/base/init.c
> @@ -35,8 +35,8 @@ void __init driver_init(void)
> of_core_init();
> platform_bus_init();
> auxiliary_bus_init();
> - cpu_dev_init();
> memory_dev_init();
> node_dev_init();
> + cpu_dev_init();
> container_dev_init();
> }