[libvirt] [PATCH 00/22] New CPU related APIs

Jiri Denemark jdenemar at redhat.com
Wed May 16 08:39:19 UTC 2018


The current virConnectCompareCPU and virConnectBaselineCPU APIs are not
very useful because they ignore what a hypervisor can do on the current
host. This series adds two new APIs which are designed to work with
capabilities of a specific hypervisor to provide usable results.

The third CPU related API virConnectGetCPUModelNames is pretty useless
too, but no new API with similar functionality is needed because domain
capabilities XML already contains the relevant data.

Jiri Denemark (22):
  virsh: Move cpu-{baseline,compare} commands
  virsh: Extract common code from cmdCPU{Compare,Baseline}
  virsh: Enhance documentation of cpu-compare command
  virsh: Enhance documentation of cpu-models command
  Improve documentation of virConnectGetCPUModelNames
  vshExtractCPUDefXML: Accept domain capabilities XML
  qemu_capabilities: Introduce virQEMUCapsCacheLookupDefault
  Introduce virConnectCompareHypervisorCPU public API
  remote: Implement virConnectCompareHypervisorCPU
  virsh: Introduce new hypervisor-cpu-compare command
  qemu: Implement virConnectCompareHypervisorCPU
  Introduce virConnectBaselineHypervisorCPU public API
  remote: Implement virConnectBaselineHypervisorCPU
  virsh: Introduce new hypervisor-cpu-baseline command
  cpu: Rename cpuBaseline as virCPUBaseline
  cpu_x86: Add support for passing guest CPUs to virCPUx86Baseline
  cpu: Add explicit arch parameter for virCPUBaseline
  cpu: Update style in virCPUBaseline
  cpu: Add optional list of allowed features to virCPUBaseline
  qemu_capabilities: Introduce virQEMUCapsGetCPUFeatures
  qemu: Implement virConnectBaselineHypervisorCPU
  news: Mention new CPU related APIs

 docs/news.xml                  |   9 +
 include/libvirt/libvirt-host.h |  15 ++
 src/bhyve/bhyve_driver.c       |   4 +-
 src/cpu/cpu.c                  |  34 ++-
 src/cpu/cpu.h                  |  21 +-
 src/cpu/cpu_arm.c              |  11 +-
 src/cpu/cpu_ppc64.c            |   5 +-
 src/cpu/cpu_x86.c              |  35 ++-
 src/driver-hypervisor.h        |  20 ++
 src/libvirt-host.c             | 161 +++++++++++-
 src/libvirt_private.syms       |   2 +-
 src/libvirt_public.syms        |   6 +
 src/libxl/libxl_driver.c       |   4 +-
 src/qemu/qemu_capabilities.c   | 170 +++++++++++++
 src/qemu/qemu_capabilities.h   |  12 +
 src/qemu/qemu_driver.c         | 241 ++++++++++++------
 src/remote/remote_driver.c     |   4 +-
 src/remote/remote_protocol.x   |  40 ++-
 src/remote_protocol-structs    |  27 ++
 src/test/test_driver.c         |   2 +-
 src/vz/vz_driver.c             |   2 +-
 tests/cputest.c                |   6 +-
 tools/virsh-domain.c           | 223 -----------------
 tools/virsh-host.c             | 441 +++++++++++++++++++++++++++++++++
 tools/virsh.pod                |  90 ++++++-
 25 files changed, 1223 insertions(+), 362 deletions(-)

-- 
2.17.0




More information about the libvir-list mailing list