From: Bharata B Rao <bharata@linux.vnet.ibm.com>
To: qemu-devel@nongnu.org
Cc: mjrosato@linux.vnet.ibm.com, thuth@redhat.com,
pkrempa@redhat.com, ehabkost@redhat.com, aik@ozlabs.ru,
Bharata B Rao <bharata@linux.vnet.ibm.com>,
armbru@redhat.com, agraf@suse.de, borntraeger@de.ibm.com,
qemu-ppc@nongnu.org, pbonzini@redhat.com, imammedo@redhat.com,
mdroth@linux.vnet.ibm.com, afaerber@suse.de,
david@gibson.dropbear.id.au
Subject: [Qemu-devel] [RFC PATCH v2 0/9] Core based CPU hotplug for PowerPC sPAPR
Date: Fri, 11 Mar 2016 10:24:29 +0530 [thread overview]
Message-ID: <1457672078-17307-1-git-send-email-bharata@linux.vnet.ibm.com> (raw)
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
next reply other threads:[~2016-03-11 4:54 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-03-11 4:54 Bharata B Rao [this message]
2016-03-11 4:54 ` [Qemu-devel] [RFC PATCH v2 1/9] exec: Remove cpu from cpus list during cpu_exec_exit() Bharata B Rao
2016-03-11 11:34 ` Thomas Huth
2016-03-11 4:54 ` [Qemu-devel] [RFC PATCH v2 2/9] exec: Do vmstate unregistration from cpu_exec_exit() Bharata B Rao
2016-03-11 11:39 ` Thomas Huth
2016-03-15 6:15 ` David Gibson
2016-03-11 4:54 ` [Qemu-devel] [RFC PATCH v2 3/9] cpu: Reclaim vCPU objects Bharata B Rao
2016-03-11 11:49 ` Thomas Huth
2016-03-15 6:20 ` David Gibson
2016-03-11 4:54 ` [Qemu-devel] [RFC PATCH v2 4/9] cpu: Add a sync version of cpu_remove() Bharata B Rao
2016-03-11 4:54 ` [Qemu-devel] [RFC PATCH v2 5/9] cpu: Abstract CPU core type Bharata B Rao
2016-03-15 6:34 ` David Gibson
2016-03-11 4:54 ` [Qemu-devel] [RFC PATCH v2 6/9] spapr: CPU core device Bharata B Rao
2016-03-14 10:25 ` Igor Mammedov
2016-03-14 10:56 ` Thomas Huth
2016-03-14 12:08 ` Igor Mammedov
2016-03-15 9:14 ` Bharata B Rao
2016-03-15 9:34 ` David Gibson
2016-03-15 13:46 ` Igor Mammedov
2016-03-15 23:33 ` David Gibson
2016-03-15 13:38 ` Igor Mammedov
2016-03-11 4:54 ` [Qemu-devel] [RFC PATCH v2 7/9] spapr: CPU hotplug support Bharata B Rao
2016-03-16 5:19 ` David Gibson
2016-03-16 15:30 ` Igor Mammedov
2016-03-11 4:54 ` [Qemu-devel] [RFC PATCH v2 8/9] xics, xics_kvm: Handle CPU unplug correctly Bharata B Rao
2016-03-11 4:54 ` [Qemu-devel] [RFC PATCH v2 9/9] spapr: CPU hot unplug support Bharata B Rao
2016-03-16 5:27 ` David Gibson
2016-03-16 5:37 ` Bharata B Rao
2016-03-14 9:47 ` [Qemu-devel] [RFC PATCH v2 0/9] Core based CPU hotplug for PowerPC sPAPR Igor Mammedov
2016-03-16 3:48 ` Bharata B Rao
2016-03-16 15:48 ` Igor Mammedov
2016-03-17 10:03 ` David Gibson
2016-03-18 3:29 ` Bharata B Rao
2016-03-21 3:57 ` David Gibson
2016-03-21 10:43 ` Igor Mammedov
2016-03-22 0:22 ` David Gibson
2016-03-22 9:18 ` Igor Mammedov
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=1457672078-17307-1-git-send-email-bharata@linux.vnet.ibm.com \
--to=bharata@linux.vnet.ibm.com \
--cc=afaerber@suse.de \
--cc=agraf@suse.de \
--cc=aik@ozlabs.ru \
--cc=armbru@redhat.com \
--cc=borntraeger@de.ibm.com \
--cc=david@gibson.dropbear.id.au \
--cc=ehabkost@redhat.com \
--cc=imammedo@redhat.com \
--cc=mdroth@linux.vnet.ibm.com \
--cc=mjrosato@linux.vnet.ibm.com \
--cc=pbonzini@redhat.com \
--cc=pkrempa@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=qemu-ppc@nongnu.org \
--cc=thuth@redhat.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.