qemu-ppc
[Top][All Lists]
Advanced

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

Re: [Qemu-ppc] [Qemu-devel] [RFC PATCH v2 0/9] Core based CPU hotplug fo


From: Igor Mammedov
Subject: Re: [Qemu-ppc] [Qemu-devel] [RFC PATCH v2 0/9] Core based CPU hotplug for PowerPC sPAPR
Date: Mon, 14 Mar 2016 10:47:28 +0100

On Fri, 11 Mar 2016 10:24:29 +0530
Bharata B Rao <address@hidden> wrote:

> 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]
do you plan to allow user to hotplug different cpu_models?
If not it would be better to hide cpu_model from user
and set it from machine pre_plug handler.

> 
> 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
> 




reply via email to

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