[Top][All Lists]

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

[Qemu-devel] [PATCH v4 0/2] spapr: QMP: add query-hotpluggable-cpus

From: Igor Mammedov
Subject: [Qemu-devel] [PATCH v4 0/2] spapr: QMP: add query-hotpluggable-cpus
Date: Thu, 24 Mar 2016 16:07:09 +0100

Changes since v3:
 - replace qmp_query_hotpluggable_cpus with 
   callback. (Eduardo Habkost <address@hidden>)
 - fix cover letter to explain why new command is needed.
   (Markus Armbruster <address@hidden>)
Changes since v2:
 - rebase on top of hte lates spapr cpu hotpug series
 - add 'vcpus-count' field, address@hidden
 - s/CpuInstanceProps/CpuInstanceProperties/
 - use '#optional' marker
 - make "props" as always present even if it's empty
 - fix JSON examples
 - fix minor typos
 - drop pre_plug spapr impl out of series as not related to QMP command
 - drop generic pre hotplug callback as not related to QMP command

Changes since RFC:
 - drop arch_id
 - move CPU properties into separate structure
 - target implements its own qmp callback version
 - rebased on top of [RFC PATCH v1 00/10] Core based CPU hotplug for PowerPC 
    - convert slot name to core id hack
    - drop links
    - add generic pre hotplug callback
    - implement query-hotpluggable-cpus

Series adds query-hotpluggable-cpus QMP command to allow mgmt
query board specific configuration of possible CPU objects
with their properties, which is target specific and also
depends on CLI options (like -smp/-cpu/-numa).
Returned information includes QOM type of CPU objects and
a set of properties that are necessary for hotplugging them.
Information will be used with device_add/-device when
hotplugging a CPU and migrating QEMU instance with hotplugged CPUs.

The first patch (QMP API) in this series could go in first
allowing individual targets to post their hotplug
implementation independently on top of it.

Summary on QMP vs QOM interface discussion:

a QMP command is
 1. a single / atomic command 
 2. well documented
 3. fixed at compile time/staic so it's easy for mgmt to discover it.

while a considered alternative QOM interface via qom-get(path) is
 1. not atomic, i.e. requires a lot of qom-get requests over the wire
    to traverse QOM tree and fetch information
 2. not documented
 3. dynamically generated and would require more complicated coding
    even to create a simplistic interface similar to proposed QMP command
    (for example: possible_cpu QOM objects with a related properties)

Igor Mammedov (2):
  QMP: add query-hotpluggable-cpus
  spapr: implement query-hotpluggable-cpus callback

 hw/ppc/spapr.c      | 33 +++++++++++++++++++++++++++++++++
 include/hw/boards.h |  5 +++++
 monitor.c           | 13 +++++++++++++
 qapi-schema.json    | 41 +++++++++++++++++++++++++++++++++++++++++
 qmp-commands.hx     | 43 +++++++++++++++++++++++++++++++++++++++++++
 5 files changed, 135 insertions(+)


reply via email to

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