mbox series

[v4,0/3] target/ppc: vcpu hotplug failure handling fixes

Message ID 20240618082354.13919-1-harshpb@linux.ibm.com (mailing list archive)
Headers show
Series target/ppc: vcpu hotplug failure handling fixes | expand

Message

Harsh Prateek Bora June 18, 2024, 8:23 a.m. UTC
On ppc64, the PowerVM hypervisor runs with limited memory and a VCPU
creation during hotplug may fail during kvm_ioctl for KVM_CREATE_VCPU,
leading to termination of guest since errp is set to &error_fatal while
calling kvm_init_vcpu. This unexpected behaviour can be avoided by
pre-creating and parking vcpu on success or return error otherwise.
This enables graceful error delivery for any vcpu hotplug failures while
the guest can keep running.

This series adds another helper to create and park vcpu, based on [1],
exports cpu_get_free_index to be reused later and adds ppc arch specfic
handling for vcpu hotplug failure using kvm accel helper cpu_target_realize.

[1] <20240607115649.214622-1-salil.mehta@huawei.com> 

Changelog:
v4: rebased, comment update in patch 3, added R-bys.
v3: Addressed review comments from Nick
v2: Addressed review comments from Nick
v1: Initial patch

Harsh Prateek Bora (3):
  accel/kvm: Introduce kvm_create_and_park_vcpu() helper
  cpu-common.c: export cpu_get_free_index to be reused later
  target/ppc: handle vcpu hotplug failure gracefully

 include/exec/cpu-common.h |  2 ++
 include/sysemu/kvm.h      |  8 +++++++
 accel/kvm/kvm-all.c       | 12 ++++++++++
 cpu-common.c              |  7 +++---
 target/ppc/kvm.c          | 46 +++++++++++++++++++++++++++++++++++++++
 5 files changed, 72 insertions(+), 3 deletions(-)