All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v4 0/2] spapr: QMP: add query-hotpluggable-cpus
@ 2016-03-24 15:07 Igor Mammedov
  2016-03-24 15:07 ` [Qemu-devel] [PATCH v4 1/2] " Igor Mammedov
  2016-03-24 15:07 ` [Qemu-devel] [RFC v4 2/2] spapr: implement query-hotpluggable-cpus callback Igor Mammedov
  0 siblings, 2 replies; 5+ messages in thread
From: Igor Mammedov @ 2016-03-24 15:07 UTC (permalink / raw)
  To: qemu-devel
  Cc: mjrosato, thuth, pkrempa, ehabkost, aik, armbru, agraf,
	borntraeger, qemu-ppc, bharata, pbonzini, dgibson, mdroth,
	afaerber

Changes since v3:
 - replace qmp_query_hotpluggable_cpus with MachineClass->query_hotpluggable_cpus
   callback. (Eduardo Habkost <ehabkost@redhat.com>)
 - fix cover letter to explain why new command is needed.
   (Markus Armbruster <armbru@redhat.com>)
Changes since v2:
 - rebase on top of hte lates spapr cpu hotpug series
 - add 'vcpus-count' field, pkrempa@redhat.com
 - 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 sPAPR
                      https://www.mail-archive.com/qemu-devel@nongnu.org/msg357567.html
    - 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.

PS:
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.

PS2:
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(+)

-- 
1.8.3.1

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2016-03-28 15:28 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-03-24 15:07 [Qemu-devel] [PATCH v4 0/2] spapr: QMP: add query-hotpluggable-cpus Igor Mammedov
2016-03-24 15:07 ` [Qemu-devel] [PATCH v4 1/2] " Igor Mammedov
2016-03-26 18:56   ` [Qemu-devel] [PATCH v5 " Igor Mammedov
2016-03-28 15:28     ` Eric Blake
2016-03-24 15:07 ` [Qemu-devel] [RFC v4 2/2] spapr: implement query-hotpluggable-cpus callback Igor Mammedov

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.