From: Gavin Shan <gshan@redhat.com>
To: Salil Mehta <salil.mehta@huawei.com>,
xianglai li <lixianglai@loongson.cn>,
"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
zhukeqian <zhukeqian1@huawei.com>
Cc: Salil Mehta <salil.mehta@opnsrc.net>
Subject: Re: [PATCH 0/8] Adds CPU hot-plug support to Loongarch
Date: Fri, 28 Jul 2023 09:25:17 +1000 [thread overview]
Message-ID: <ea2db075-266f-fa6d-d322-1767dc118a33@redhat.com> (raw)
In-Reply-To: <f0be74b6104f49be943f5266be40cdd6@huawei.com>
Hi Salil,
On 7/28/23 00:58, Salil Mehta wrote:
>> From: Gavin Shan <gshan@redhat.com>
>> Sent: Thursday, July 27, 2023 1:57 AM
>> On 7/20/23 17:15, xianglai li wrote:
>>> Hello everyone, We refer to the implementation of ARM CPU
>>> Hot-Plug to add GED-based CPU Hot-Plug support to Loongarch.
>>>
>>> The first 4 patches are changes to the QEMU common code,
>>> including adding GED support for CPU Hot-Plug, updating
>>> the ACPI table creation process, and adding qdev_disconnect_gpio_out_named
>>> and cpu_address_space_destroy interfaces to release resources
>>> when CPU un-plug.
>>>
>>> The last four patches are Loongarch architecture-related,
>>> and the modifications include the definition of the hook
>>> function related to the CPU Hot-(UN)Plug, the allocation
>>> and release of CPU resources when CPU Hot-(UN)Plug,
>>> the creation process of updating the ACPI table,
>>> and finally the custom switch for the CPU Hot-Plug.
>
> [...]
>
>> It seems the design for ARM64 hotplug has been greatly referred, but the authors
>> are missed to be copied if you were referring to the following repository.
>> There will be conflicts between those two patchsets as I can see and I'm not sure
>> how it can be resolved. In theory, one patchset needs to be rebased on another
>> one since they're sharing large amount of codes.
>>
>> https://github.com/salil-mehta/qemu.git
>> (branch: virt-cpuhp-armv8/rfc-v1-port11052023.dev-1)
>>
>> I took a quick scan on this series. Loongarch doesn't have ARM64's constraint due
>> to vGIC3 where all vCPUs's file descriptor needs to be in place. It means the possible
>> and not yet present vCPU needs to be visible to KVM. Without this constraint, the
>> implementation is simplified a lot.
>>
>> Besides, we found the vCPU hotplug isn't working for TCG when Salil's series was
>> tested. I'm not sure if we have same issue with this series, or TCG isn't a concern
>> to us at all?
>
>
> Sorry, I should have replied this in the other mail but have been on/off in last
> few days due to some medical reasons. But jotting it here:
>
> Yes, you are correct. And there are some trivial fixes we already have to make
> it work. In case it is useful to you, we are planning to add them for the sake
> of completion. Maybe you can try that in the RFC V2 or I'll share with you the
> repository once I push the fixes.
>
> Many thanks!
>
No worries, thanks a lot for your followup and clarify. I think it'd better to
make TCG working so that we have consistent vCPU hotplug capability for all
accelerators eventually. However, I didn't test with HVF and not sure about it.
I just checked your repository again and it seems these TCG fixes aren't there
yet.
https://github.com/salil-mehta/qemu.git
(virt-cpuhp-armv8/rfc-v1-port11052023.dev-1)
/home/gshan/sandbox/src/qemu/main/build/qemu-system-aarch64 \
-accel tcg -machine virt,gic-version=3,nvdimm=on -icount 1 \
-cpu max -smp maxcpus=2,cpus=1,sockets=1,clusters=1,cores=1,threads=2
:
(qemu) device_add driver=max-arm-cpu,id=cpu1,thread-id=1
Error: cpu(id1=0:0:0:1) with arch-id 1 exists
As to the cause, the CPU object isn't detached from the CPU slot as said
before.
Thanks,
Gavin
prev parent reply other threads:[~2023-07-28 0:16 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-20 7:15 [PATCH 0/8] Adds CPU hot-plug support to Loongarch xianglai li
2023-07-20 7:15 ` [PATCH 1/8] Update ACPI GED framework to support vcpu hot-(un)plug xianglai li
2023-07-28 11:45 ` Igor Mammedov
2023-08-01 8:08 ` lixianglai
2023-07-20 7:15 ` [PATCH 2/8] Update CPUs AML with cpu-(ctrl)dev change xianglai li
2023-07-28 11:55 ` Igor Mammedov
2023-08-01 8:16 ` lixianglai
2023-07-20 7:15 ` [PATCH 3/8] Introduced a new function to disconnect GPIO connections xianglai li
2023-07-28 11:59 ` Igor Mammedov
2023-08-01 8:32 ` lixianglai
2023-07-28 12:38 ` Peter Maydell
2023-08-08 12:09 ` lixianglai
2023-07-20 7:15 ` [PATCH 4/8] Introduce the CPU address space destruction function xianglai li
2023-07-28 12:13 ` Igor Mammedov
2023-08-08 3:22 ` lixianglai
2023-07-20 7:15 ` [PATCH 5/8] Adds basic CPU hot-(un)plug support for Loongarch xianglai li
2023-07-28 13:21 ` Igor Mammedov
2023-08-09 7:22 ` lixianglai
2023-07-20 7:15 ` [PATCH 6/8] Add support of *unrealize* for loongarch cpu xianglai li
2023-07-28 13:23 ` Igor Mammedov
2023-08-08 12:17 ` lixianglai
2023-07-20 7:15 ` [PATCH 7/8] Update the ACPI table for the Loongarch CPU xianglai li
2023-07-28 13:26 ` Igor Mammedov
2023-08-08 12:25 ` lixianglai
2023-07-20 7:15 ` [PATCH 8/8] Turn on CPU hot-(un)plug customization for loongarch xianglai li
2023-07-28 13:30 ` Igor Mammedov
2023-08-08 12:30 ` lixianglai
2023-07-27 0:57 ` [PATCH 0/8] Adds CPU hot-plug support to Loongarch Gavin Shan
2023-07-27 2:14 ` lixianglai
2023-07-27 14:51 ` Salil Mehta via
2023-08-01 7:49 ` lixianglai
2023-07-27 14:58 ` Salil Mehta via
2023-07-27 23:25 ` Gavin Shan [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ea2db075-266f-fa6d-d322-1767dc118a33@redhat.com \
--to=gshan@redhat.com \
--cc=lixianglai@loongson.cn \
--cc=qemu-devel@nongnu.org \
--cc=salil.mehta@huawei.com \
--cc=salil.mehta@opnsrc.net \
--cc=zhukeqian1@huawei.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).