Re: [PATCH RFC 0/3] Support CPU hotplug for ARM64

From: Xiongfeng Wang
Date: Wed Jul 03 2019 - 23:28:28 EST


Hi Justin,

On 2019/7/4 11:00, Jia He wrote:
> Hi Xiongfeng
>
> It is a little bit awkful that I am also investigating acpi based cpu hotplug issue silimar with
>
> your idea. My question is your purpose to implement the vcpu hotplug in arm64 qemu?

Yes, my purpose is to implement the vcpu hotplug in arm64 qemu. So that I can add or remove vcpu
without shutting down the Guest OS.

Thanks,
Xiongfeng

>
> Thanks for the ellaboration
>
> ---
> Cheers,
> Justin (Jia He)
>
> On 2019/6/28 19:13, Xiongfeng Wang wrote:
>> This patchset mark all the GICC node in MADT as possible CPUs even though it
>> is disabled. But only those enabled GICC node are marked as present CPUs.
>> So that kernel will initialize some CPU related data structure in advance before
>> the CPU is actually hot added into the system. This patchset also implement
>> 'acpi_(un)map_cpu()' and 'arch_(un)register_cpu()' for ARM64. These functions are
>> needed to enable CPU hotplug.
>>
>> To support CPU hotplug, we need to add all the possible GICC node in MADT
>> including those CPUs that are not present but may be hot added later. Those
>> CPUs are marked as disabled in GICC nodes.
>>
>> Xiongfeng Wang (3):
>> ÂÂ ACPI / scan: evaluate _STA for processors declared via ASL Device
>> ÂÂÂÂ statement
>> ÂÂ arm64: mark all the GICC nodes in MADT as possible cpu
>> ÂÂ arm64: Add CPU hotplug support
>>
>>  arch/arm64/kernel/acpi.c | 22 ++++++++++++++++++++++
>> Â arch/arm64/kernel/setup.c | 19 ++++++++++++++++++-
>> Â arch/arm64/kernel/smp.cÂÂ | 11 +++++------
>> Â drivers/acpi/scan.cÂÂÂÂÂÂ | 12 ++++++++++++
>> Â 4 files changed, 57 insertions(+), 7 deletions(-)
>>
>
> .
>