[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [RFC PATCH v2 0/9] Core based CPU hotplug for PowerPC sPAPR
From: |
Bharata B Rao |
Subject: |
[Qemu-devel] [RFC PATCH v2 0/9] Core based CPU hotplug for PowerPC sPAPR |
Date: |
Fri, 11 Mar 2016 10:24:29 +0530 |
Hi,
This is the next version of "Core based CPU hotplug for PowerPC sPAPR" that
was posted at
https://lists.gnu.org/archive/html/qemu-ppc/2016-03/msg00081.html
device_add semantics
--------------------
For -smp 16,sockets=1,cores=2,threads=8,maxcpus=32
(qemu) device_add spapr-cpu-core,id=core2,core=16,cpu_model=host[,threads=8]
Major changes in this version
-----------------------------
- Based on the review feedback, removed the links from machine object
to the core objects.
- With that, the concept of using the links as slots where core object sits
is gone.
- String slot name which was being used as slot= with device_add now
becomes an integer core id being specified as core=.
- threads property which indicates the number of threads in the core
moves from spapr-cpu-core type to cpu-core type.
- Threads creation moves from core's property setter to core's realizefn.
- Igor's proposed pre_plug handler isn't yet used in this patchset, but it
wouldn't take much effort to switch to it. Waiting for some review/consensus
on Igor's patchset before switching to it.
- This patchset will now work with Igor's query-hotpluggable-cpus QMP
interface.
Other changes
-------------
- Core ID that is used with device_add is in fact device tree ID now.
- DRC indexes are based on core_dt_id now. There are a couple of places
where core device's thread0 is used to fetch the DRC index, but changing
that requires bigger change of converting the CPUs DT code generation
to iterate over cores instead of threads.
- Coverted while(1) to do-while() as suggeted by Thomas Huth (3/9).
- Creation of spapr-cpu-core device and conversion of boot CPUs into
cores merged into a single patch (6/9).
- Topologies with incomplete cores are prevented from booting only with
machine type versions that support CPU DR (6/9).
- Conversion of boot CPUs into cores is done only for machine type versions
that support CPU DR (6/9).
- Take care of recovery from failure in plug handler when CPU hotplug isn't
supported correctly. This will not be needed when we prevent such
attempts from pre_plug handler (9/9).
Bharata B Rao (8):
exec: Remove cpu from cpus list during cpu_exec_exit()
exec: Do vmstate unregistration from cpu_exec_exit()
cpu: Add a sync version of cpu_remove()
cpu: Abstract CPU core type
spapr: CPU core device
spapr: CPU hotplug support
xics,xics_kvm: Handle CPU unplug correctly
spapr: CPU hot unplug support
Gu Zheng (1):
cpu: Reclaim vCPU objects
cpus.c | 51 +++++-
exec.c | 41 ++++-
hw/cpu/Makefile.objs | 1 +
hw/cpu/core.c | 87 ++++++++++
hw/intc/xics.c | 14 ++
hw/intc/xics_kvm.c | 8 +-
hw/ppc/Makefile.objs | 1 +
hw/ppc/spapr.c | 153 +++++++++++++++--
hw/ppc/spapr_cpu_core.c | 354 ++++++++++++++++++++++++++++++++++++++++
hw/ppc/spapr_events.c | 3 +
hw/ppc/spapr_rtas.c | 24 +++
include/hw/cpu/core.h | 31 ++++
include/hw/ppc/spapr.h | 7 +
include/hw/ppc/spapr_cpu_core.h | 42 +++++
include/hw/ppc/xics.h | 1 +
include/qom/cpu.h | 18 ++
include/sysemu/kvm.h | 1 +
kvm-all.c | 57 ++++++-
kvm-stub.c | 5 +
19 files changed, 871 insertions(+), 28 deletions(-)
create mode 100644 hw/cpu/core.c
create mode 100644 hw/ppc/spapr_cpu_core.c
create mode 100644 include/hw/cpu/core.h
create mode 100644 include/hw/ppc/spapr_cpu_core.h
--
2.1.0
- [Qemu-devel] [RFC PATCH v2 0/9] Core based CPU hotplug for PowerPC sPAPR,
Bharata B Rao <=
- [Qemu-devel] [RFC PATCH v2 1/9] exec: Remove cpu from cpus list during cpu_exec_exit(), Bharata B Rao, 2016/03/10
- [Qemu-devel] [RFC PATCH v2 2/9] exec: Do vmstate unregistration from cpu_exec_exit(), Bharata B Rao, 2016/03/10
- [Qemu-devel] [RFC PATCH v2 4/9] cpu: Add a sync version of cpu_remove(), Bharata B Rao, 2016/03/10
- [Qemu-devel] [RFC PATCH v2 5/9] cpu: Abstract CPU core type, Bharata B Rao, 2016/03/10
- [Qemu-devel] [RFC PATCH v2 3/9] cpu: Reclaim vCPU objects, Bharata B Rao, 2016/03/10