Hi,
This is the next version of CPU hotplug support patchset for PowerPC
sPAPR guests. This is a split-out from the previous version (v3) that
was carrying CPU and memory hotplug together. This patchset applies on
spapr-next branch of David Gibson's tree.
In the previous version, I was doing CPU addition at socket granularity.
One hotplug request would add one complete CPU socket with all the cores
and threads as per the boot time topology specification. Based on the
feedback for v3, I am switching back to earlier method wherein I don't
have the notion of socket device. In this version I don't create any
additional device abstraction over CPU device, but use the existing
CPU device and add full cores at once. One hotplug request will add
a complete core with all the underlying threads.
I have enabled device_add based hotplug for POWER8 family for processors
and currently the semantics looks like this:
(qemu) device_add POWER8-powerpc64-cpu,id=cpu8
v3: https://lists.nongnu.org/archive/html/qemu-devel/2015-04/msg02910.html
Bharata B Rao (10):
exec: Remove cpu from cpus list during cpu_exec_exit()
exec: Do vmstate unregistration from cpu_exec_exit()
cpus: Add a sync version of cpu_remove()
xics_kvm: Add cpu_destroy method to XICS
spapr: Create pseries-2.5 machine
spapr: Enable CPU hotplug for pseries-2.5 and add CPU DRC DT entries
spapr: CPU hotplug support
spapr: Support topologies with unfilled cores
spapr: CPU hot unplug support
target-ppc: Enable CPU hotplug for POWER8 CPU family
Gu Zheng (1):
cpus: Reclaim vCPU objects
cpus.c | 55 ++++++++
exec.c | 30 +++++
hw/intc/xics.c | 12 ++
hw/intc/xics_kvm.c | 9 ++
hw/ppc/spapr.c | 300 +++++++++++++++++++++++++++++++++++++++++++-
hw/ppc/spapr_events.c | 3 +
hw/ppc/spapr_rtas.c | 11 ++
include/hw/ppc/spapr.h | 1 +
include/hw/ppc/xics.h | 2 +
include/qom/cpu.h | 19 +++
include/sysemu/kvm.h | 1 +
kvm-all.c | 57 ++++++++-
kvm-stub.c | 5 +
target-ppc/translate_init.c | 10 ++
14 files changed, 511 insertions(+), 4 deletions(-)