On Fri, Jun 10, 2016 at 03:14:14PM +1000, David Gibson wrote: > On Fri, Jun 10, 2016 at 06:28:59AM +0530, Bharata B Rao wrote: > > Hi, > > > > This is the next version of the CPU hotplug patchset for PowerPC > > sPAPR target. The hotplug semantics looks like this: > > > > (qemu) device_add POWER8E-spapr-cpu-core,id=core2,core-id=16[,threads=4] > > (qemu) device_add host-spapr-cpu-core,id=core2,core-id=16[,threads=4] > > (qemu) device_add > > POWER8E_v2.1-spapr-cpu-core,id=core2,core-id=16[,threads=4] > > I've merged these to my ppc-cpu-hotplug branch, and I'm doing some > testing. It it checks out, I hope to send a pull request.
I've now merged this into my main ppc-for-2.7 branch. I'll be doing some testing, obviously, but I'd certain appreciate any other tests of this branch with the hotplug code. > > > > > Changes in v4 > > ------------- > > - Rebased against David Gibson's ppc-cpu-hotplug and hence dropped those > > patches that are already part of that tree. > > - We were assuming the CPU thread to be always of type PowerPCCPU which > > needn't be true. Hence use actual CPU type's instance_size when > > object_initialize'ing the threads as per David's suggestion. This requires > > us to know the instance_size for a given type for which a new QOM API > > object_type_get_size() has been introduced in this version. > > - Consolidate CPU init related routines in spapr_cpu_core.c. As part of this > > move spapr_cpu_init() and its dependencies to spapr_cpu_core.c. > > - Got rid of the temporary unplug list when removing CPU cores. > > - Folded spapr_cpu_core_create_threads() into spapr_cpu_core_realize() and > > fixed the error path in in spapr_cpu_core_realize(). > > - Add support for -cpu host. > > > > TODOs remaining > > --------------- > > - Work on David's suggestion of intializing CPU's ObjectClass in > > class_init rather than instance_init. > > - Use object_initialize_with_type instead of object_initialize when > > creating CPU threads of a core. > > - Use vcpu_dt_id logic when populating core id in > > spapr_query_hotpluggable_cpus(). > > - Handle CPU compat properly (-cpu host,compat=POWER7) > > > > v3: https://lists.gnu.org/archive/html/qemu-devel/2016-05/msg01829.html > > > > Bharata B Rao (7): > > qom: API to get instance_size of a type > > spapr: Abstract CPU core device and type specific core devices > > spapr: Move spapr_cpu_init() to spapr_cpu_core.c > > spapr: convert boot CPUs into CPU core devices > > spapr: CPU hotplug support > > spapr: CPU hot unplug support > > hmp: Add 'info hotpluggable-cpus' HMP command > > > > Igor Mammedov (2): > > QMP: Add query-hotpluggable-cpus > > spapr: implement query-hotpluggable-cpus callback > > > > hmp-commands-info.hx | 14 ++ > > hmp.c | 41 ++++ > > hmp.h | 1 + > > hw/ppc/Makefile.objs | 1 + > > hw/ppc/spapr.c | 215 +++++++++++++++------ > > hw/ppc/spapr_cpu_core.c | 405 > > ++++++++++++++++++++++++++++++++++++++++ > > hw/ppc/spapr_events.c | 3 + > > hw/ppc/spapr_rtas.c | 24 +++ > > include/hw/boards.h | 5 + > > include/hw/ppc/spapr.h | 7 + > > include/hw/ppc/spapr_cpu_core.h | 36 ++++ > > include/qom/object.h | 8 +- > > monitor.c | 13 ++ > > qapi-schema.json | 55 ++++++ > > qmp-commands.hx | 23 +++ > > qom/object.c | 8 + > > target-ppc/kvm.c | 28 +++ > > 17 files changed, 828 insertions(+), 59 deletions(-) > > create mode 100644 hw/ppc/spapr_cpu_core.c > > create mode 100644 include/hw/ppc/spapr_cpu_core.h > > > -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson
signature.asc
Description: PGP signature