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

From: Xiongfeng Wang
Date: Thu Jul 04 2019 - 02:20:56 EST




On 2019/7/4 14:04, Jia He wrote:
> Hi Xiongfeng
>
> Sorry, I missed your latter mail, you used a emulated SCI interrupt

Yes, I only used a emulated SCI interrupt. My colleague is working on the qemu part.
He used the GED device in qemu. But there is still some other issues with the qemu
and he is working on it.

>
> ---
> Cheers,
> Justin (Jia He)
>
> On 2019/7/4 11:26, Xiongfeng Wang wrote:
>> 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(-)
>>>>
>>> .
>>>