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(a)linux.ibm.com>
--
Respectfully,
- Collin Walling