Re: [libvirt] [PATCH v2 00/11] Qemu: s390: Cpu Model Support

2016-12-15 Thread Jason J. Herne

On 12/15/2016 11:55 AM, Jiri Denemark wrote:

On Fri, Dec 09, 2016 at 14:38:29 -0500, Jason J. Herne wrote:

This patch set enables cpu model support for s390. The user can now set exact
cpu models, query supported models via virsh domcapabilities, and use host-model
and host-passthrough modes. The end result is that migration is safer because
Qemu will perform runnability checking on the destination host and quit with an
error if the guest's cpu model is not supported.


A slightly (un)related question: is QEMU going to implement
unavailable-features for s390? In other words, will libvirt users be
able to easily see what CPU models can be used on a host? The libvirt
code should be ready so it's just a matter of making QEMU report
unavailable-features.

Jirka



If so, it will likely be after this set of patches. Sounds like good follow
on work.

--
-- Jason J. Herne (jjhe...@linux.vnet.ibm.com)

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list


Re: [libvirt] [PATCH v2 00/11] Qemu: s390: Cpu Model Support

2016-12-15 Thread Jiri Denemark
On Fri, Dec 09, 2016 at 14:38:29 -0500, Jason J. Herne wrote:
> This patch set enables cpu model support for s390. The user can now set exact
> cpu models, query supported models via virsh domcapabilities, and use 
> host-model
> and host-passthrough modes. The end result is that migration is safer because
> Qemu will perform runnability checking on the destination host and quit with 
> an
> error if the guest's cpu model is not supported.

A slightly (un)related question: is QEMU going to implement
unavailable-features for s390? In other words, will libvirt users be
able to easily see what CPU models can be used on a host? The libvirt
code should be ready so it's just a matter of making QEMU report
unavailable-features.

Jirka

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list


[libvirt] [PATCH v2 00/11] Qemu: s390: Cpu Model Support

2016-12-09 Thread Jason J. Herne
This patch set enables cpu model support for s390. The user can now set exact
cpu models, query supported models via virsh domcapabilities, and use host-model
and host-passthrough modes. The end result is that migration is safer because
Qemu will perform runnability checking on the destination host and quit with an
error if the guest's cpu model is not supported.   

Note: Some test data has been separated from corresponding test case updates for
ease of review.

Changelog
-

[v2]
* Added s390x cpu and capabilities tests
* Added cpu feature syntax tests
* Dropped patch: Warn when migrating host-passthrough
* Added patch: Document migrating host-passthrough is dangerous

s390: Cpu driver support for update and compare
 - Compare: Added comment explaining why s390 bypasses the cpuCompare operation
 - Update: Added error message explaining minimum match mode is not supported
 - Update: Ensure user is not using unsupported optional feature policy
 - Update: Use virCPUDefUpdateFeature to update/create user requested features
 - Other minor fixes
 
s390-cpu: Remove nodeData and decode
 - Completely remove nodeData and decode functions

qemu: qmp query-cpu-model-expansion command
 - Cleaned up debug print
 - Restructured qemuMonitorJSONGetCPUModelExpansion
 - Added more JSON parsing error handling
 - CPU model features now parsed via an iterator
 - qemuMonitorJSONGetCPUModelExpansion: Fixed double free of model ptr
 - Restructure qemuMonitorCPUModelInfoFree
 - Other minor fixes

qemu-caps: Get host model directly from Qemu when available
 - virQEMUCapsProbeQMPHostCPU: indentation fix
 - Fixed rebase error involving a missing 'goto cleanup;'.
 - Fix indentation in virQEMUCapsProbeQMPHostCPU
 - virQEMUCapsInitHostCPUModel now routes to virQEMUCapsCopyModelFromQEMU or
   virQEMUCapsCopyModelFromHost, depending on architecture.
 - Restructure hostCpu data in qemu caps cache xml
 - Other minor fixes

Collin L. Walling (6):
  qemu: qmp query-cpu-model-expansion command
  qemu-caps: Get host model directly from Qemu when available
  qemu: command: Support new cpu feature argument syntax
  test-data: Qemu caps replies and xml for s390x qemu 2.7 and 2.8
  tests: qemu capabilites: qemu 2.7 and 2.8 on s390x
  tests: domain capabilities: qemu 2.8 on s390x

Jason J. Herne (5):
  s390: Cpu driver support for update and compare
  s390-cpu: Remove nodeData and decode
  docs: document cpu host-passthrough migration issue
  tests: qemuxml2argv s390x cpu model
  tests: qemuxml2argv cpu feature syntax

 docs/formatdomain.html.in  | 6 +-
 po/POTFILES.in | 1 +
 src/cpu/cpu_s390.c |   103 +-
 src/qemu/qemu_capabilities.c   |   180 +-
 src/qemu/qemu_capabilities.h   | 1 +
 src/qemu/qemu_command.c|10 +-
 src/qemu/qemu_monitor.c|62 +
 src/qemu/qemu_monitor.h|22 +
 src/qemu/qemu_monitor_json.c   |   121 +
 src/qemu/qemu_monitor_json.h   |12 +
 tests/domaincapsschemadata/qemu_2.8.0.s390x.xml|   159 +
 tests/domaincapstest.c |14 +
 .../qemucapabilitiesdata/caps_2.7.0.s390x.replies  | 11999 +
 tests/qemucapabilitiesdata/caps_2.7.0.s390x.xml|   140 +
 .../qemucapabilitiesdata/caps_2.8.0.s390x.replies  | 13380 +++
 tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml|   286 +
 tests/qemucapabilitiestest.c   | 4 +
 .../qemuxml2argv-cpu-features-post-qcme.args   |19 +
 .../qemuxml2argv-cpu-features-post-qcme.xml|23 +
 .../qemuxml2argv-cpu-features-pre-qcme.args|19 +
 .../qemuxml2argv-cpu-features-pre-qcme.xml |23 +
 .../qemuxml2argv-cpu-s390-zEC12.args   |19 +
 .../qemuxml2argv-cpu-s390-zEC12.xml|21 +
 tests/qemuxml2argvtest.c   |19 +
 tests/testutilsqemu.c  |39 +-
 tests/testutilsqemu.h  | 1 +
 26 files changed, 26642 insertions(+), 41 deletions(-)
 create mode 100644 tests/domaincapsschemadata/qemu_2.8.0.s390x.xml
 create mode 100644 tests/qemucapabilitiesdata/caps_2.7.0.s390x.replies
 create mode 100644 tests/qemucapabilitiesdata/caps_2.7.0.s390x.xml
 create mode 100644 tests/qemucapabilitiesdata/caps_2.8.0.s390x.replies
 create mode 100644 tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml
 create mode 100644 
tests/qemuxml2argvdata/qemuxml2argv-cpu-features-post-qcme.args
 create mode 100644 
tests/qemuxml2argvdata/qemuxml2argv-cpu-features-post-qcme.xml
 create mode 100644 
tests/qemuxml2argvdata/qemuxml2argv-cpu-features-pre-qcme.args
 create mode 100644 
tests/qemuxml2argvdata/qemuxml2argv-cpu-features-pre-qcme.xml
 create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-cpu-s390-zEC12.args