[libvirt] [RFC PATCH v2 00/12] qemu: add support to hot-plug/unplug cpu device

Zhu Guihua zhugh.fnst at cn.fujitsu.com
Wed Feb 4 09:18:18 UTC 2015


If you apply the folowing patchset in order
[PATCH v3 0/7] cpu: add device_add foo-x86_64-cpu support
https://lists.nongnu.org/archive/html/qemu-devel/2015-01/msg01552.html,
[PATCH v2 0/5] Common unplug and unplug request cb for memory and CPU hot-unplug
https://lists.nongnu.org/archive/html/qemu-devel/2015-01/msg03929.html
and [PATCH v2 00/11] cpu: add i386 cpu hot remove support
https://lists.nongnu.org/archive/html/qemu-devel/2015-01/msg01557.html,
qemu can support hotplug and hot-unplug cpu device.

So this patch series will make libvirt support hotplug and hot-unplug cpu
device for qemu driver.

This patch series add a new API to support cpu hot-plug/unplug, and leave the
existing API by invoking qemu command 'cpu-add' as a legacy.

This patch series realize cpu hot-plug/unplug by libvirt command
'attach-device' and 'detach-device', and invoke qemu command 'device_add'
and 'device_del' to support this feature.

v2:
- update cpu device's definition, and cpu's apic_id is hidded to users.
- add check for compatibility between host cpu and hot added cpu
- add a capability for *-x86_64-cpu

Zhu Guihua (12):
  domain_conf: add support for cpu device configuration in XML
  domain_conf: introduce cpu def helpers
  domain_conf: introduce cpu device hotplug helpers
  qemu_driver: implement cpu device hotplug on config level
  qemu_command: introduce a func for cpu device alias assignment
  domain_conf: allocate cpu's apic id dynamically
  qemu: add a capability for x86_64-cpu
  qemu: introduce qemuBuildCPUDeviceStr
  qemu: implement cpu device hotplug on live level
  qemu: implement cpu device hotunplug on live level
  qemu_monitor_json: sort JSON array of cpu info
  qemu_driver: detect threads corresponding to Vcpus

 docs/formatdomain.html.in     |  28 ++++
 docs/schemas/domaincommon.rng |   3 +
 src/conf/domain_conf.c        | 189 +++++++++++++++++++++++++-
 src/conf/domain_conf.h        |  33 +++++
 src/libvirt_private.syms      |   6 +
 src/qemu/qemu_capabilities.c  |   3 +
 src/qemu/qemu_capabilities.h  |   1 +
 src/qemu/qemu_command.c       | 120 +++++++++++++++++
 src/qemu/qemu_command.h       |  10 ++
 src/qemu/qemu_driver.c        | 299 ++++++++++++++++++++++++------------------
 src/qemu/qemu_driver.h        |   8 ++
 src/qemu/qemu_hotplug.c       | 140 ++++++++++++++++++++
 src/qemu/qemu_hotplug.h       |  12 ++
 src/qemu/qemu_monitor_json.c  |  31 ++++-
 src/util/virbitmap.c          |   2 +-
 src/util/virbitmap.h          |   2 +
 16 files changed, 753 insertions(+), 134 deletions(-)

-- 
1.9.3




More information about the libvir-list mailing list