qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
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



      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).