Hi Gavin and Salil,
On 7/27/23 8:57 AM, Gavin Shan wrote:
Hi Xianglai,
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.
We have great respect and gratitude to Salil and his team for their work
and contributions to CPU HotPlug,
which greatly reduced the difficulty of developing CPU HotPlug in Loongarch.
So, We plan to rebase the next version of patch based on their code.
Hi Salil,
I estimate that it will take quite some time for your patch series to
merge in,
if allowed, can you merge your patch series changes to the common code
section into the community first,
so that our code can be rebase and merged.
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?
At present, QEMU only supports TCG under Loongarch,
and we test CPU HotPlug is also carried out under QEMU TCG,
and CPU HotPlug can work normally when testing.
Of course, we are also very happy to see you testing CPU hotplug under
Loongarch,
which can find more problems and help us improve our patch.
Thanks,
Gavin
Thanks,
xianglai li