From: Harsh Prateek Bora <harshpb@linux.ibm.com>
To: npiggin@gmail.com, qemu-ppc@nongnu.org, qemu-devel@nongnu.org
Cc: danielhb413@gmail.com, vaibhav@linux.ibm.com, sbhat@linux.ibm.com
Subject: [PATCH v3 1/3] accel/kvm: Introduce kvm_create_and_park_vcpu() helper
Date: Thu, 23 May 2024 12:56:12 +0530 [thread overview]
Message-ID: <20240523072614.256172-2-harshpb@linux.ibm.com> (raw)
In-Reply-To: <20240523072614.256172-1-harshpb@linux.ibm.com>
There are distinct helpers for creating and parking a KVM vCPU.
However, there can be cases where a platform needs to create and
immediately park the vCPU during early stages of vcpu init which
can later be reused when vcpu thread gets initialized. This would
help detect failures with kvm_create_vcpu at an early stage.
Based on api refactoring to create/park vcpus introduced in 1/8 of patch series:
https://lore.kernel.org/qemu-devel/20240522211111.232114-1-salil.mehta@huawei.com/
Suggested-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Harsh Prateek Bora <harshpb@linux.ibm.com>
---
accel/kvm/kvm-cpus.h | 8 ++++++++
accel/kvm/kvm-all.c | 12 ++++++++++++
2 files changed, 20 insertions(+)
diff --git a/accel/kvm/kvm-cpus.h b/accel/kvm/kvm-cpus.h
index 2e6bb38b5d..00e534b3b9 100644
--- a/accel/kvm/kvm-cpus.h
+++ b/accel/kvm/kvm-cpus.h
@@ -46,4 +46,12 @@ void kvm_park_vcpu(CPUState *cpu);
* @returns: KVM fd
*/
int kvm_unpark_vcpu(KVMState *s, unsigned long vcpu_id);
+
+/**
+ * * kvm_create_and_park_vcpu - Create and park a KVM vCPU
+ * * @cpu: QOM CPUState object for which KVM vCPU has to be created and parked.
+ * *
+ * * @returns: 0 when success, errno (<0) when failed.
+ * */
+int kvm_create_and_park_vcpu(CPUState *cpu);
#endif /* KVM_CPUS_H */
diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c
index fc30e5d5b8..d70ca62ff5 100644
--- a/accel/kvm/kvm-all.c
+++ b/accel/kvm/kvm-all.c
@@ -398,6 +398,18 @@ int kvm_create_vcpu(CPUState *cpu)
return 0;
}
+int kvm_create_and_park_vcpu(CPUState *cpu)
+{
+ int ret = 0;
+
+ ret = kvm_create_vcpu(cpu);
+ if (!ret) {
+ kvm_park_vcpu(cpu);
+ }
+
+ return ret;
+}
+
static int do_kvm_destroy_vcpu(CPUState *cpu)
{
KVMState *s = kvm_state;
--
2.39.3
next prev parent reply other threads:[~2024-05-23 7:27 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-05-23 7:26 [PATCH v3 0/3] target/ppc: vcpu hotplug failure handling fixes Harsh Prateek Bora
2024-05-23 7:26 ` Harsh Prateek Bora [this message]
2024-05-30 8:31 ` [PATCH v3 1/3] accel/kvm: Introduce kvm_create_and_park_vcpu() helper Nicholas Piggin
2024-05-23 7:26 ` [PATCH v3 2/3] cpu-common.c: export cpu_get_free_index to be reused later Harsh Prateek Bora
2024-05-30 8:32 ` Nicholas Piggin
2024-05-23 7:26 ` [PATCH v3 3/3] target/ppc: handle vcpu hotplug failure gracefully Harsh Prateek Bora
2024-05-30 8:38 ` Nicholas Piggin
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=20240523072614.256172-2-harshpb@linux.ibm.com \
--to=harshpb@linux.ibm.com \
--cc=danielhb413@gmail.com \
--cc=npiggin@gmail.com \
--cc=qemu-devel@nongnu.org \
--cc=qemu-ppc@nongnu.org \
--cc=sbhat@linux.ibm.com \
--cc=vaibhav@linux.ibm.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).