From: Salil Mehta via <qemu-devel@nongnu.org> To: Gavin Shan <gshan@redhat.com>, "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>, "qemu-arm@nongnu.org" <qemu-arm@nongnu.org> Cc: "maz@kernel.org" <maz@kernel.org>, "jean-philippe@linaro.org" <jean-philippe@linaro.org>, Jonathan Cameron <jonathan.cameron@huawei.com>, "lpieralisi@kernel.org" <lpieralisi@kernel.org>, "peter.maydell@linaro.org" <peter.maydell@linaro.org>, "richard.henderson@linaro.org" <richard.henderson@linaro.org>, "imammedo@redhat.com" <imammedo@redhat.com>, "andrew.jones@linux.dev" <andrew.jones@linux.dev>, "david@redhat.com" <david@redhat.com>, "philmd@linaro.org" <philmd@linaro.org>, "eric.auger@redhat.com" <eric.auger@redhat.com>, "oliver.upton@linux.dev" <oliver.upton@linux.dev>, "pbonzini@redhat.com" <pbonzini@redhat.com>, "mst@redhat.com" <mst@redhat.com>, "will@kernel.org" <will@kernel.org>, "rafael@kernel.org" <rafael@kernel.org>, "alex.bennee@linaro.org" <alex.bennee@linaro.org>, "linux@armlinux.org.uk" <linux@armlinux.org.uk>, "darren@os.amperecomputing.com" <darren@os.amperecomputing.com>, "ilkka@os.amperecomputing.com" <ilkka@os.amperecomputing.com>, "vishnu@os.amperecomputing.com" <vishnu@os.amperecomputing.com>, "karl.heubaum@oracle.com" <karl.heubaum@oracle.com>, "miguel.luis@oracle.com" <miguel.luis@oracle.com>, "salil.mehta@opnsrc.net" <salil.mehta@opnsrc.net>, zhukeqian <zhukeqian1@huawei.com>, "wangxiongfeng (C)" <wangxiongfeng2@huawei.com>, "wangyanan (Y)" <wangyanan55@huawei.com>, "jiakernel2@gmail.com" <jiakernel2@gmail.com>, "maobibo@loongson.cn" <maobibo@loongson.cn>, "lixianglai@loongson.cn" <lixianglai@loongson.cn>, Linuxarm <linuxarm@huawei.com> Subject: RE: [PATCH V4 01/10] accel/kvm: Extract common KVM vCPU {creation,parking} code Date: Wed, 11 Oct 2023 09:59:27 +0000 [thread overview] Message-ID: <d1b0c94a235747aeb6817bb07e49c190@huawei.com> (raw) In-Reply-To: <910cb268-7344-fa0b-aa1e-935ded612d3e@redhat.com> Hi Gavin, > From: Gavin Shan <gshan@redhat.com> > Sent: Wednesday, October 11, 2023 8:09 AM > To: Salil Mehta <salil.mehta@huawei.com>; qemu-devel@nongnu.org; qemu-arm@nongnu.org > Cc: maz@kernel.org; jean-philippe@linaro.org; Jonathan Cameron > <jonathan.cameron@huawei.com>; lpieralisi@kernel.org; > peter.maydell@linaro.org; richard.henderson@linaro.org; > imammedo@redhat.com; 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; 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 V4 01/10] accel/kvm: Extract common KVM vCPU > {creation,parking} code > > Hi Salil, > > On 10/10/23 06:35, Salil Mehta wrote: > > KVM vCPU creation is done once during the initialization of the VM when Qemu > > thread is spawned. This is common to all the architectures. > > > > Hot-unplug of vCPU results in destruction of the vCPU object in QOM but the > > corresponding KVM vCPU object in the Host KVM is not destroyed and its > > representative KVM vCPU object/context in Qemu is parked. > > > > Refactor common logic so that some APIs could be reused by vCPU Hotplug code. > > > > Signed-off-by: Salil Mehta <salil.mehta@huawei.com> > > --- > > accel/kvm/kvm-all.c | 64 ++++++++++++++++++++++++++++++++---------- > > accel/kvm/trace-events | 4 +++ > > include/sysemu/kvm.h | 16 +++++++++++ > > 3 files changed, 69 insertions(+), 15 deletions(-) > > > > With the following one comment addressed: > > Reviewed-by: Gavin Shan <gshan@redhat.com> Thanks [...] > > diff --git a/accel/kvm/trace-events b/accel/kvm/trace-events > > index 399aaeb0ec..08e2dc253f 100644 > > --- a/accel/kvm/trace-events > > +++ b/accel/kvm/trace-events > > @@ -9,6 +9,10 @@ kvm_device_ioctl(int fd, int type, void *arg) "dev fd > %d, type 0x%x, arg %p" > > kvm_failed_reg_get(uint64_t id, const char *msg) "Warning: Unable to retrieve ONEREG %" PRIu64 " from KVM: %s" > > kvm_failed_reg_set(uint64_t id, const char *msg) "Warning: Unable to set ONEREG %" PRIu64 " to KVM: %s" > > kvm_init_vcpu(int cpu_index, unsigned long arch_cpu_id) "index: %d id: %lu" > > +kvm_create_vcpu(int cpu_index, unsigned long arch_cpu_id) "creating KVM cpu: cpu_index: %d arch vcpu-id: %lu" > > +kvm_get_vcpu(unsigned long arch_cpu_id) "unparking KVM vcpu: arch vcpu-id: %lu" > > +kvm_destroy_vcpu(int cpu_index, unsigned long arch_cpu_id) "destroy vcpu: cpu_index: %d arch vcpu-id: %lu" > > +kvm_park_vcpu(int cpu_index, unsigned long arch_cpu_id) "parking KVM vcpu: cpu_index: %d arch vcpu-id: %lu" > > I don't think we need the duplicate identifiers like "creating KVM cpu" > since the event name can serve the purpose. Besides, the parameters > are descriptive by "index: %d id: %lu", used by kvm_init_vcpu(). We just > need to follow that pattern. Otherwise, inconsistent output will be printed > by kvm_init_vcpu() and kvm_get_vcpu(). So I would change them like below: > > kvm_init_vcpu(int cpu_index, unsigned long arch_cpu_id) "index: %d id: %lu" > kvm_create_vcpu(int cpu_index, unsigned long arch_cpu_id) "index: %d id: %lu" > kvm_get_vcpu(unsigned long arch_cpu_id) "id: %lu" > kvm_destroy_vcpu(int cpu_index, unsigned long arch_cpu_id) "index: %d id: %lu" > kvm_park_vcpu(int cpu_index, unsigned long arch_cpu_id) "index: %d id: %lu" No problem. Will fix Only executed below to check for new trace counters: Qemu> info trace-events Thanks Salil.
WARNING: multiple messages have this Message-ID (diff)
From: Salil Mehta <salil.mehta@huawei.com> To: Gavin Shan <gshan@redhat.com>, "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>, "qemu-arm@nongnu.org" <qemu-arm@nongnu.org> Cc: "maz@kernel.org" <maz@kernel.org>, "jean-philippe@linaro.org" <jean-philippe@linaro.org>, Jonathan Cameron <jonathan.cameron@huawei.com>, "lpieralisi@kernel.org" <lpieralisi@kernel.org>, "peter.maydell@linaro.org" <peter.maydell@linaro.org>, "richard.henderson@linaro.org" <richard.henderson@linaro.org>, "imammedo@redhat.com" <imammedo@redhat.com>, "andrew.jones@linux.dev" <andrew.jones@linux.dev>, "david@redhat.com" <david@redhat.com>, "philmd@linaro.org" <philmd@linaro.org>, "eric.auger@redhat.com" <eric.auger@redhat.com>, "oliver.upton@linux.dev" <oliver.upton@linux.dev>, "pbonzini@redhat.com" <pbonzini@redhat.com>, "mst@redhat.com" <mst@redhat.com>, "will@kernel.org" <will@kernel.org>, "rafael@kernel.org" <rafael@kernel.org>, "alex.bennee@linaro.org" <alex.bennee@linaro.org>, "linux@armlinux.org.uk" <linux@armlinux.org.uk>, "darren@os.amperecomputing.com" <darren@os.amperecomputing.com>, "ilkka@os.amperecomputing.com" <ilkka@os.amperecomputing.com>, "vishnu@os.amperecomputing.com" <vishnu@os.amperecomputing.com>, "karl.heubaum@oracle.com" <karl.heubaum@oracle.com>, "miguel.luis@oracle.com" <miguel.luis@oracle.com>, "salil.mehta@opnsrc.net" <salil.mehta@opnsrc.net>, zhukeqian <zhukeqian1@huawei.com>, "wangxiongfeng (C)" <wangxiongfeng2@huawei.com>, "wangyanan (Y)" <wangyanan55@huawei.com>, "jiakernel2@gmail.com" <jiakernel2@gmail.com>, "maobibo@loongson.cn" <maobibo@loongson.cn>, "lixianglai@loongson.cn" <lixianglai@loongson.cn>, Linuxarm <linuxarm@huawei.com> Subject: RE: [PATCH V4 01/10] accel/kvm: Extract common KVM vCPU {creation,parking} code Date: Wed, 11 Oct 2023 09:59:27 +0000 [thread overview] Message-ID: <d1b0c94a235747aeb6817bb07e49c190@huawei.com> (raw) Message-ID: <20231011095927.w5NetUBJPwEGvgh__x8HzbjJvvUfMjxveNPjcaKGux0@z> (raw) In-Reply-To: <910cb268-7344-fa0b-aa1e-935ded612d3e@redhat.com> Hi Gavin, > From: Gavin Shan <gshan@redhat.com> > Sent: Wednesday, October 11, 2023 8:09 AM > To: Salil Mehta <salil.mehta@huawei.com>; qemu-devel@nongnu.org; qemu-arm@nongnu.org > Cc: maz@kernel.org; jean-philippe@linaro.org; Jonathan Cameron > <jonathan.cameron@huawei.com>; lpieralisi@kernel.org; > peter.maydell@linaro.org; richard.henderson@linaro.org; > imammedo@redhat.com; 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; 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 V4 01/10] accel/kvm: Extract common KVM vCPU > {creation,parking} code > > Hi Salil, > > On 10/10/23 06:35, Salil Mehta wrote: > > KVM vCPU creation is done once during the initialization of the VM when Qemu > > thread is spawned. This is common to all the architectures. > > > > Hot-unplug of vCPU results in destruction of the vCPU object in QOM but the > > corresponding KVM vCPU object in the Host KVM is not destroyed and its > > representative KVM vCPU object/context in Qemu is parked. > > > > Refactor common logic so that some APIs could be reused by vCPU Hotplug code. > > > > Signed-off-by: Salil Mehta <salil.mehta@huawei.com> > > --- > > accel/kvm/kvm-all.c | 64 ++++++++++++++++++++++++++++++++---------- > > accel/kvm/trace-events | 4 +++ > > include/sysemu/kvm.h | 16 +++++++++++ > > 3 files changed, 69 insertions(+), 15 deletions(-) > > > > With the following one comment addressed: > > Reviewed-by: Gavin Shan <gshan@redhat.com> Thanks [...] > > diff --git a/accel/kvm/trace-events b/accel/kvm/trace-events > > index 399aaeb0ec..08e2dc253f 100644 > > --- a/accel/kvm/trace-events > > +++ b/accel/kvm/trace-events > > @@ -9,6 +9,10 @@ kvm_device_ioctl(int fd, int type, void *arg) "dev fd > %d, type 0x%x, arg %p" > > kvm_failed_reg_get(uint64_t id, const char *msg) "Warning: Unable to retrieve ONEREG %" PRIu64 " from KVM: %s" > > kvm_failed_reg_set(uint64_t id, const char *msg) "Warning: Unable to set ONEREG %" PRIu64 " to KVM: %s" > > kvm_init_vcpu(int cpu_index, unsigned long arch_cpu_id) "index: %d id: %lu" > > +kvm_create_vcpu(int cpu_index, unsigned long arch_cpu_id) "creating KVM cpu: cpu_index: %d arch vcpu-id: %lu" > > +kvm_get_vcpu(unsigned long arch_cpu_id) "unparking KVM vcpu: arch vcpu-id: %lu" > > +kvm_destroy_vcpu(int cpu_index, unsigned long arch_cpu_id) "destroy vcpu: cpu_index: %d arch vcpu-id: %lu" > > +kvm_park_vcpu(int cpu_index, unsigned long arch_cpu_id) "parking KVM vcpu: cpu_index: %d arch vcpu-id: %lu" > > I don't think we need the duplicate identifiers like "creating KVM cpu" > since the event name can serve the purpose. Besides, the parameters > are descriptive by "index: %d id: %lu", used by kvm_init_vcpu(). We just > need to follow that pattern. Otherwise, inconsistent output will be printed > by kvm_init_vcpu() and kvm_get_vcpu(). So I would change them like below: > > kvm_init_vcpu(int cpu_index, unsigned long arch_cpu_id) "index: %d id: %lu" > kvm_create_vcpu(int cpu_index, unsigned long arch_cpu_id) "index: %d id: %lu" > kvm_get_vcpu(unsigned long arch_cpu_id) "id: %lu" > kvm_destroy_vcpu(int cpu_index, unsigned long arch_cpu_id) "index: %d id: %lu" > kvm_park_vcpu(int cpu_index, unsigned long arch_cpu_id) "index: %d id: %lu" No problem. Will fix Only executed below to check for new trace counters: Qemu> info trace-events Thanks Salil.
next prev parent reply other threads:[~2023-10-11 10:00 UTC|newest] Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top 2023-10-09 20:35 [PATCH V4 00/10] Add architecture agnostic code to support vCPU Hotplug Salil Mehta via 2023-10-09 20:35 ` Salil Mehta 2023-10-09 20:35 ` [PATCH V4 01/10] accel/kvm: Extract common KVM vCPU {creation, parking} code Salil Mehta via 2023-10-09 20:35 ` Salil Mehta 2023-10-11 7:09 ` [PATCH V4 01/10] accel/kvm: Extract common KVM vCPU {creation,parking} code Gavin Shan 2023-10-11 9:59 ` Salil Mehta via [this message] 2023-10-11 9:59 ` Salil Mehta 2023-10-09 20:35 ` [PATCH V4 02/10] hw/acpi: Move CPU ctrl-dev MMIO region len macro to common header file Salil Mehta via 2023-10-09 20:35 ` Salil Mehta 2023-10-10 7:34 ` Shaoqin Huang 2023-10-10 9:49 ` Salil Mehta via 2023-10-10 9:49 ` Salil Mehta 2023-10-09 20:35 ` [PATCH V4 03/10] hw/acpi: Add ACPI CPU hotplug init stub Salil Mehta via 2023-10-09 20:35 ` Salil Mehta 2023-10-10 7:39 ` Shaoqin Huang 2023-10-10 9:50 ` Salil Mehta via 2023-10-10 9:50 ` Salil Mehta 2023-10-09 20:35 ` [PATCH V4 04/10] hw/acpi: Init GED framework with CPU hotplug events Salil Mehta via 2023-10-09 20:35 ` Salil Mehta 2023-10-09 20:35 ` [PATCH V4 05/10] hw/acpi: Update CPUs AML with cpu-(ctrl)dev change Salil Mehta via 2023-10-09 20:35 ` Salil Mehta 2023-10-09 20:35 ` [PATCH V4 06/10] hw/acpi: Update GED _EVT method AML with CPU scan Salil Mehta via 2023-10-09 20:35 ` Salil Mehta 2023-10-09 20:35 ` [PATCH V4 07/10] hw/acpi: Update ACPI GED framework to support vCPU Hotplug Salil Mehta via 2023-10-09 20:35 ` Salil Mehta 2023-10-10 8:18 ` Shaoqin Huang 2023-10-10 9:50 ` Salil Mehta via 2023-10-10 9:50 ` Salil Mehta 2023-10-09 20:35 ` [PATCH V4 08/10] physmem: Add helper function to destroy CPU AddressSpace Salil Mehta via 2023-10-09 20:35 ` Salil Mehta 2023-10-09 20:36 ` [PATCH V4 09/10] gdbstub: Add helper function to unregister GDB register space Salil Mehta via 2023-10-09 20:36 ` Salil Mehta 2023-10-09 20:36 ` [PATCH V4 10/10] target/arm/kvm: Write CPU state back to KVM on reset Salil Mehta via 2023-10-09 20:36 ` Salil Mehta 2023-10-09 20:54 ` Salil Mehta via 2023-10-09 20:54 ` Salil Mehta 2023-10-11 13:56 ` [PATCH V4 00/10] Add architecture agnostic code to support vCPU Hotplug Vishnu Pajjuri
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=d1b0c94a235747aeb6817bb07e49c190@huawei.com \ --to=qemu-devel@nongnu.org \ --cc=alex.bennee@linaro.org \ --cc=andrew.jones@linux.dev \ --cc=darren@os.amperecomputing.com \ --cc=david@redhat.com \ --cc=eric.auger@redhat.com \ --cc=gshan@redhat.com \ --cc=ilkka@os.amperecomputing.com \ --cc=imammedo@redhat.com \ --cc=jean-philippe@linaro.org \ --cc=jiakernel2@gmail.com \ --cc=jonathan.cameron@huawei.com \ --cc=karl.heubaum@oracle.com \ --cc=linux@armlinux.org.uk \ --cc=linuxarm@huawei.com \ --cc=lixianglai@loongson.cn \ --cc=lpieralisi@kernel.org \ --cc=maobibo@loongson.cn \ --cc=maz@kernel.org \ --cc=miguel.luis@oracle.com \ --cc=mst@redhat.com \ --cc=oliver.upton@linux.dev \ --cc=pbonzini@redhat.com \ --cc=peter.maydell@linaro.org \ --cc=philmd@linaro.org \ --cc=qemu-arm@nongnu.org \ --cc=rafael@kernel.org \ --cc=richard.henderson@linaro.org \ --cc=salil.mehta@huawei.com \ --cc=salil.mehta@opnsrc.net \ --cc=vishnu@os.amperecomputing.com \ --cc=wangxiongfeng2@huawei.com \ --cc=wangyanan55@huawei.com \ --cc=will@kernel.org \ --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: linkBe 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).