RE: [PATCH V6 0/9] Add architecture agnostic code to support vCPU Hotplug

Salil Mehta via posted 9 patches 6 months, 3 weeks ago
Only 0 patches received!
RE: [PATCH V6 0/9] Add architecture agnostic code to support vCPU Hotplug
Posted by Salil Mehta via 6 months, 3 weeks ago
Hi Igor,

> From: Igor Mammedov <imammedo@redhat.com>
> Sent: Thursday, October 26, 2023 1:41 PM
> To: Salil Mehta <salil.mehta@huawei.com>
> Cc: qemu-devel@nongnu.org; qemu-arm@nongnu.org; maz@kernel.org; jean-
> philippe@linaro.org; Jonathan Cameron <jonathan.cameron@huawei.com>;
> lpieralisi@kernel.org; peter.maydell@linaro.org;
> richard.henderson@linaro.org; andrew.jones@linux.dev; david@redhat.com;
> philmd@linaro.org; eric.auger@redhat.com; oliver.upton@linux.dev;
> pbonzini@redhat.com; mst@redhat.com; will@kernel.org; gshan@redhat.com;
> rafael@kernel.org; alex.bennee@linaro.org; linux@armlinux.org.uk;
> darren@os.amperecomputing.com; ilkka@os.amperecomputing.com;
> vishnu@os.amperecomputing.com; karl.heubaum@oracle.com;
> miguel.luis@oracle.com; salil.mehta@opnsrc.net; zhukeqian
> <zhukeqian1@huawei.com>; wangxiongfeng (C) <wangxiongfeng2@huawei.com>;
> wangyanan (Y) <wangyanan55@huawei.com>; jiakernel2@gmail.com;
> maobibo@loongson.cn; lixianglai@loongson.cn; Linuxarm <linuxarm@huawei.com>
> Subject: Re: [PATCH V6 0/9] Add architecture agnostic code to support vCPU
> Hotplug
> 
> On Fri, 13 Oct 2023 11:51:20 +0100
> Salil Mehta <salil.mehta@huawei.com> wrote:
> 
> > Virtual CPU hotplug support is being added across various
> architectures[1][3].
> > This series adds various code bits common across all architectures:
> >
> > 1. vCPU creation and Parking code refactor [Patch 1]
> > 2. Update ACPI GED framework to support vCPU Hotplug [Patch 4,6,7]
> > 3. ACPI CPUs AML code change [Patch 5]
> > 4. Helper functions to support unrealization of CPU objects [Patch 8,9]
> > 5. Misc [Patch 2,3]
> 
> Thanks Salil!
> 
> Overall series looks good to me (modulo some points, I'd like to be addressed)
> I'll do some testing and follow with per patch review tomorrow.

Many thanks! that would be helpful.

Meanwhile, I am preparing the V7 version of this to address the x86/microvm
qtest break reported by Miguel.

https://lore.kernel.org/qemu-devel/51B6C120-3707-4730-AE14-0F5CD32DC984@oracle.com/


Solution suggested here:
https://lore.kernel.org/qemu-devel/15e70616-6abb-63a4-17d0-820f4a254607@opnsrc.net/T/#m108f102b2fe92b7dd7218f2f942f7b233a9d6af3


cheers
Salil.


> > Repository:
> >
> > [*] https://github.com/salil-mehta/qemu.git virt-cpuhp-armv8/rfc-v2.common.v6
> >
> >
> > Revision History:
> >
> > Patch-set  V5 -> V6
> > 1. Addressed Gavin Shan's comments
> >    - Fixed the assert() ranges of address spaces
> >    - Rebased the patch-set to latest changes in the qemu.git
> >    - Added Reviewed-by tags for patches {8,9}
> > 2. Addressed Jonathan Cameron's comments
> >    - Updated commit-log for [Patch V5 1/9] with mention of trace events
> >    - Added Reviewed-by tags for patches {1,5}
> > 3. Added Tested-by tags from Xianglai Li
> > 4. Fixed checkpatch.pl error "Qemu -> QEMU" in [Patch V5 1/9]
> > Link: https://lore.kernel.org/qemu-devel/20231011194355.15628-1-salil.mehta@huawei.com/
> >
> > Patch-set  V4 -> V5
> > 1. Addressed Gavin Shan's comments
> >    - Fixed the trace events print string for kvm_{create,get,park,destroy}_vcpu
> >    - Added Reviewed-by tag for patch {1}
> > 2. Added Shaoqin Huang's Reviewed-by tags for Patches {2,3}
> > 3. Added Tested-by Tag from Vishnu Pajjuri to the patch-set
> > 4. Dropped the ARM specific [Patch V4 10/10]
> > Link: https://lore.kernel.org/qemu-devel/20231009203601.17584-1-salil.mehta@huawei.com/
> >
> > Patch-set  V3 -> V4
> > 1. Addressed David Hilderbrand's comments
> >    - Fixed the wrong doc comment of kvm_park_vcpu API prototype
> >    - Added Reviewed-by tags for patches {2,4}
> > Link: https://lore.kernel.org/qemu-devel/20231009112812.10612-1-salil.mehta@huawei.com/
> >
> > Patch-set  V2 -> V3
> > 1. Addressed Jonathan Cameron's comments
> >    - Fixed 'vcpu-id' type wrongly changed from 'unsigned long' to 'integer'
> >    - Removed unnecessary use of variable 'vcpu_id' in kvm_park_vcpu
> >    - Updated [Patch V2 3/10] commit-log with details of ACPI_CPU_SCAN_METHOD macro
> >    - Updated [Patch V2 5/10] commit-log with details of conditional event handler method
> >    - Added Reviewed-by tags for patches {2,3,4,6,7}
> > 2. Addressed Gavin Shan's comments
> >    - Remove unnecessary use of variable 'vcpu_id' in kvm_par_vcpu
> >    - Fixed return value in kvm_get_vcpu from -1 to -ENOENT
> >    - Reset the value of 'gdb_num_g_regs' in gdb_unregister_coprocessor_all
> >    - Fixed the kvm_{create,park}_vcpu prototypes docs
> >    - Added Reviewed-by tags for patches {2,3,4,5,6,7,9,10}
> > 3. Addressed one earlier missed comment by Alex Bennée in RFC V1
> >    - Added traces instead of DPRINTF in the newly added and some existing functions
> > Link: https://lore.kernel.org/qemu-devel/20230930001933.2660-1- salil.mehta@huawei.com/
> >
> > Patch-set V1 -> V2
> > 1. Addressed Alex Bennée's comments
> >    - Refactored the kvm_create_vcpu logic to get rid of goto
> >    - Added the docs for kvm_{create,park}_vcpu prototypes
> >    - Splitted the gdbstub and AddressSpace destruction change into separate patches
> >    - Added Reviewed-by tags for patches {2,10}
> > Link: https://lore.kernel.org/qemu-devel/20230929124304.13672-1-salil.mehta@huawei.com/
> >
> > References:
> >
> > [1] https://lore.kernel.org/qemu-devel/20230926100436.28284-1-salil.mehta@huawei.com/
> > [2] https://lore.kernel.org/all/20230913163823.7880-1-james.morse@arm.com/
> > [3] https://lore.kernel.org/qemu-devel/cover.1695697701.git.lixianglai@loongson.cn/
> >
> >
> > Salil Mehta (9):
> >   accel/kvm: Extract common KVM vCPU {creation,parking} code
> >   hw/acpi: Move CPU ctrl-dev MMIO region len macro to common header file
> >   hw/acpi: Add ACPI CPU hotplug init stub
> >   hw/acpi: Init GED framework with CPU hotplug events
> >   hw/acpi: Update CPUs AML with cpu-(ctrl)dev change
> >   hw/acpi: Update GED _EVT method AML with CPU scan
> >   hw/acpi: Update ACPI GED framework to support vCPU Hotplug
> >   physmem: Add helper function to destroy CPU AddressSpace
> >   gdbstub: Add helper function to unregister GDB register space
> >
> >  accel/kvm/kvm-all.c                    | 64 ++++++++++++++++++++------
> >  accel/kvm/trace-events                 |  4 ++
> >  gdbstub/gdbstub.c                      | 12 +++++
> >  hw/acpi/acpi-cpu-hotplug-stub.c        |  6 +++
> >  hw/acpi/cpu.c                          | 27 +++++++----
> >  hw/acpi/generic_event_device.c         | 22 +++++++++
> >  hw/i386/acpi-build.c                   |  3 +-
> >  include/exec/cpu-common.h              |  8 ++++
> >  include/exec/gdbstub.h                 |  5 ++
> >  include/hw/acpi/cpu.h                  |  5 +-
> >  include/hw/acpi/cpu_hotplug.h          |  4 ++
> >  include/hw/acpi/generic_event_device.h |  5 ++
> >  include/hw/core/cpu.h                  |  1 +
> >  include/sysemu/kvm.h                   | 16 +++++++
> >  system/physmem.c                       | 29 ++++++++++++
> >  15 files changed, 184 insertions(+), 27 deletions(-)
> >