Hi all,
Any comments about this series?
I'm not sure whether this series' method to support cpu hotplug in
libvirt is reasonable, so could anyone give more suggestions about this
function? Thanks.
Regards,
Zhu
On Wed, 2015-02-04 at 17:18 +0800, Zhu Guihua wrote:
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(-)