
On 11/14/19 10:44 AM, Jiri Denemark wrote:
On s390 machines host-passthrough and host-model CPUs result in the same guest ABI (with QEMU new enough to be able to tell us what "host" CPU is expanded to, which was implemented around 2.9.0). So instead of using host-passthrough CPU when there's no CPU specified in a domain XML we can safely use host-model and benefit from CPU compatibility checks during migration, snapshot restore and similar operations.
This series applies on top of "qemu: Store default CPU in domain XML" which is already acked, but it's waiting for a QEMU patch to be applied to 4.2.0.
You can fetch both series at once using
git fetch https://gitlab.com/jirkade/libvirt cpu-default-type
Jiri Denemark (4): cpu_conf: Fix default value for CPU match attribute cpu_conf: Don't format empty model for host-model CPUs cpu_s390: Don't check match attribute for host-model CPUs qemu: Use host-model CPU on s390 by default
src/conf/cpu_conf.c | 25 ++++---------- src/conf/cpu_conf.h | 2 +- src/cpu/cpu_s390.c | 18 +++++----- src/qemu/qemu_domain.c | 33 ++++++++++++------- .../ppc64-host+guest-compat-none.xml | 4 +-- ...t-cpu-kvm-ccw-virtio-4.2.s390x-latest.args | 4 ++- .../cpu-check-default-partial.xml | 4 +-- .../cpu-host-model-features.xml | 1 - ...lt-cpu-kvm-ccw-virtio-4.2.s390x-latest.xml | 2 +- 9 files changed, 45 insertions(+), 48 deletions(-)
Guest defined as expected. Once I start a guest, a dumpxml showed the model name and associated features as expected. Was able to successfully migrate the guest as well. Much preferred over the old default host-passthrough way. Built libvirt using the repo and branch you provided Built QEMU using master 4.1.92 (v4.2.0-rc2-27-g65e05c82bd) - guest used machine s390-ccw-virtio-4.2 Migrated between a weird mixed environment I'm chaotically working with :) Perhaps the testing was a bit over-extensive, but it's good to make sure. Tested-by: Collin Walling <walling@linux.ibm.com> -- Respectfully, - Collin Walling