qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [RFC PATCH v2.1 00/12] Core based CPU hotplug for PowerPC s


From: Bharata B Rao
Subject: [Qemu-devel] [RFC PATCH v2.1 00/12] Core based CPU hotplug for PowerPC sPAPR
Date: Thu, 31 Mar 2016 14:09:09 +0530

Hi,

This is v2.1 of "Core based CPU hotplug for PowerPC sPAPR". v2 was posted
here: https://lists.gnu.org/archive/html/qemu-ppc/2016-03/msg00201.html

I am making this v2.1 instead of v3 as this introduces a change in
device_add semantics and if we don't want to continue this, I will go back
to the previous v2 semantics from v3 onwards. v2 had spapr-cpu-core device
that served as CPU core device for all types of PowerPCCPU threads.
In this version however, spapr-cpu-core becomes an abstract device and we
will have different core devices for each of the PowerPCCPU type. So
in this version, the hotplug semantics looks like this:

(qemu) device_add POWER8-spapr-cpu-core,id=core2,core=16[,threads=4]

cpu_model specification is gone as it becomes redundant with different
core types for each CPU type. CPU core types are defined only for
host, POWER7 and POWER8 models only (and not for their variants/aliases)
yet.

I have mostly taken care of all the review comments that I got for v2.

Major changes in this version (v2.1)
------------------------------------
- Semantics change: spapr-cpu-core to POWER8-spapr-cpu-core and likewise
- Included Igor's pre_plug patch.

Bharata B Rao (10):
  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: Abstract CPU core device
  spapr: Add CPU type specific core devices
  spapr: convert boot CPUs into CPU core devices
  spapr: CPU hotplug support
  xics,xics_kvm: Handle CPU unplug correctly
  spapr: CPU hot unplug support

Gu Zheng (1):
  cpu: Reclaim vCPU objects

Igor Mammedov (1):
  qdev: hotplug: Introduce HotplugHandler.pre_plug() callback

 cpus.c                          |  51 +++++-
 exec.c                          |  41 ++++-
 hw/core/hotplug.c               |  11 ++
 hw/core/qdev.c                  |   9 +-
 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                  | 150 +++++++++++++++--
 hw/ppc/spapr_cpu_core.c         | 349 ++++++++++++++++++++++++++++++++++++++++
 hw/ppc/spapr_events.c           |   3 +
 hw/ppc/spapr_rtas.c             |  24 +++
 include/hw/cpu/core.h           |  31 ++++
 include/hw/hotplug.h            |  14 +-
 include/hw/ppc/spapr.h          |   6 +
 include/hw/ppc/spapr_cpu_core.h |  79 +++++++++
 include/hw/ppc/xics.h           |   1 +
 include/qom/cpu.h               |  18 +++
 include/sysemu/kvm.h            |   1 +
 kvm-all.c                       |  57 ++++++-
 kvm-stub.c                      |   5 +
 22 files changed, 932 insertions(+), 29 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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]