Re: [PATCH RFC 18/22] LoongArch: Switch over to GENERIC_CPU_DEVICES

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 11/7/23 20:30, Russell King (Oracle) wrote:
From: James Morse <james.morse@xxxxxxx>

Now that GENERIC_CPU_DEVICES calls arch_register_cpu(), which can be
overridden by the arch code, switch over to this to allow common code
to choose when the register_cpu() call is made.

This allows topology_init() to be removed.

This is an intermediate step to the logic being moved to drivers/acpi,
where GENERIC_CPU_DEVICES will do the work when booting with acpi=off.

This is a subtle change. Originally:
- on boot, topology_init() would have marked present CPUs that
   io_master() is true for as hotplug-incapable.
- if a CPU is hotplugged that is an io_master(), it can later be
   hot-unplugged.

The new behaviour is that any CPU that io_master() is true for will
now always be marked as hotplug-incapable, thus even if it was
hotplugged, it can no longer be hot-unplugged.

This patch also has the effect of moving the registration of CPUs from
subsys to driver core initialisation, prior to any initcalls running.

Signed-off-by: James Morse <james.morse@xxxxxxx>
Signed-off-by: Russell King (Oracle) <rmk+kernel@xxxxxxxxxxxxxxx>
---
Changes since RFC v2:
  * Explain the change in behaviour in the patch description
    (highlighted by Jonathan Cameron - thanks.) Add note about
    initialisation order change.
---
  arch/loongarch/Kconfig           |  1 +
  arch/loongarch/kernel/topology.c | 29 ++---------------------------
  2 files changed, 3 insertions(+), 27 deletions(-)


Reviewed-by: Gavin Shan <gshan@xxxxxxxxxx>





[Index of Archives]     [Linux Kernel]     [Sparc Linux]     [DCCP]     [Linux ARM]     [Yosemite News]     [Linux SCSI]     [Linux x86_64]     [Linux for Ham Radio]

  Powered by Linux