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

Miguel Luis posted 4 patches 1 year, 10 months ago
drivers/acpi/acpi_processor.c | 138 ++++++++++++++++++++++------------
1 file changed, 91 insertions(+), 47 deletions(-)
[RFC PATCH 0/4] ACPI: processor: refactor acpi_processor_{get_info|remove}
Posted by Miguel Luis 1 year, 10 months ago
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.

[1]: https://lore.kernel.org/linux-arm-kernel/Zbp5xzmFhKDAgHws@shell.armlinux.org.uk/

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
Re: [RFC PATCH 0/4] ACPI: processor: refactor acpi_processor_{get_info|remove}
Posted by Jonathan Cameron 1 year, 10 months ago
On Tue,  9 Apr 2024 15:05:29 +0000
Miguel Luis <miguel.luis@oracle.com> 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@Huawei.com/

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@shell.armlinux.org.uk/
> 
> 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
>