[PATCH RFC v3 17/21] ACPI: add support to register CPUs based on the _STA enabled bit
Russell King (Oracle)
linux at armlinux.org.uk
Mon Dec 18 05:03:32 PST 2023
On Wed, Dec 13, 2023 at 12:50:38PM +0000, Russell King wrote:
> From: James Morse <james.morse at arm.com>
>
> acpi_processor_get_info() registers all present CPUs. Registering a
> CPU is what creates the sysfs entries and triggers the udev
> notifications.
>
> arm64 virtual machines that support 'virtual cpu hotplug' use the
> enabled bit to indicate whether the CPU can be brought online, as
> the existing ACPI tables require all hardware to be described and
> present.
>
> If firmware describes a CPU as present, but disabled, skip the
> registration. Such CPUs are present, but can't be brought online for
> whatever reason. (e.g. firmware/hypervisor policy).
>
> Once firmware sets the enabled bit, the CPU can be registered and
> brought online by user-space. Online CPUs, or CPUs that are missing
> an _STA method must always be registered.
...
> @@ -526,6 +552,9 @@ static void acpi_processor_post_eject(struct acpi_device *device)
> acpi_processor_make_not_present(device);
> return;
> }
> +
> + if (cpu_present(pr->id) && !(sta & ACPI_STA_DEVICE_ENABLED))
> + arch_unregister_cpu(pr->id);
This change isn't described in the commit log, but seems to be the cause
of the build error identified by the kernel build bot that is fixed
later in this series. I'm wondering whether this should be in a
different patch, maybe "ACPI: Check _STA present bit before making CPUs
not present" ?
Or maybe my brain isn't working properly (due to being Covid positive.)
Any thoughts, Jonathan?
--
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 80Mbps down 10Mbps up. Decent connectivity at last!
More information about the linux-riscv
mailing list