Re: [RFC PATCH 0/4] ACPI: processor: refactor acpi_processor_{get_info|remove}

From: Jonathan Cameron
Date: Wed Apr 10 2024 - 09:35:38 EST


On Tue, 9 Apr 2024 15:05:29 +0000
Miguel Luis <miguel.luis@xxxxxxxxxx> wrote:

> Both acpi_processor_get_info and acpi_processor_remove functions have
> architecture dependent functionality enabled via CONFIG_ACPI_HOTPLUG_CPU.
>
> Current pre-processor guards are restricting too much of functionality which
> makes it dificult to integrate other features such as Virtual CPU
> hotplug/unplug for arm64.
>
> This series, applied on top of v6.9-rc3, suggests a refactoring on these two
> functions with the intent to understand them better and hopefully ease
> integration of more functionality.
>
> Apart from patches 2/4 and 3/4, which could be squashed but left them separated
> intentionally so it would ease reviewing, changes are self-contained.
>
> So far I've boot tested it successfully alone and as a prefix for vCPU hotplug/unplug
> patches [1], on arm64.

Hi Miguel,

Great to see an attempt to keep this moving. My apologies that I've been rather
quiet on this so far this cycle - a few things came up that ended up more urgent :(

In the thread you link there was a discussion on whether to stub out these functions
as a possible way forwards. I did some analysis of what was going on in

https://lore.kernel.org/linux-arm-kernel/20240322185327.00002416@xxxxxxxxxx/

and my conclusion was that to do so would mostly be misleading.
The flows for make present and make enabled are and should be different
(though not as different as they were in v4!)

Jonathan

>
> [1]: https://lore.kernel.org/linux-arm-kernel/Zbp5xzmFhKDAgHws@xxxxxxxxxxxxxxxxxxxxx/
>
> Miguel Luis (4):
> ACPI: processor: refactor acpi_processor_get_info: evaluation of
> processor declaration
> ACPI: processor: refactor acpi_processor_get_info: isolate cpu hotpug
> init delay
> ACPI: processor: refactor acpi_processor_get_info: isolate
> acpi_{map|unmap}_cpu under CONFIG_ACPI_HOTPLUG_CPU
> ACPI: processor: refactor acpi_processor_remove: isolate
> acpi_unmap_cpu under CONFIG_ACPI_HOTPLUG_CPU
>
> drivers/acpi/acpi_processor.c | 138 ++++++++++++++++++++++------------
> 1 file changed, 91 insertions(+), 47 deletions(-)
>
> --
> 2.43.0
>