[libvirt] Question about the host-model CPU mode
jdenemar at redhat.com
Thu Oct 5 12:11:15 UTC 2017
On Thu, Oct 05, 2017 at 10:46:24 +0200, Marc Hartmayer wrote:
> Let's assume we've a z13 system with a QEMU 2.9 and we define a domain
> using the default s390-virtio-ccw machine together with the host-model
> CPU mode. The definition will have the machine expanded to
> s390-virtio-ccw-2.9 but retain the host-model CPU mode. In a next step
> we upgrade to QEMU 2.10 (first version to recognize z14). Everything is
> still fine, even though the machine runs in 2.9 compatibility
> mode. Finally we upgrade to a z14. As a consequence it is not possible
> to start the domain anymore as the machine type doesn't support our CPU
> host model (which is expanded at start time of the domain).
If I understand it correctly, when QEMU 2.10 is installed, we expand
the host-model CPU into a different model than with QEMU 2.9. And the
CPU model we got with QEMU 2.10 does not work with s390-virtio-ccw-2.9
machine type even on QEMU 2.10. Is that correct?
> Is this behavior expected?
> There are some ways to avoid this problem:
> - CPU model expansion is performed at domain definition time
No, host-model is designed to be expanded when a domain starts so that
the same definition always results in the best CPU model to be used no
matter on which host the domain gest started.
> - host-model is related to the machine type of a domain
So if usability of a specific CPU model depends on the selected machine
types, we probably need to count with this restriction. But it's going
to be a bit complicated because we ask QEMU what the host CPU is and the
interface we used would need to be enhanced to give us different results
for all supported machine types so that we can select the right one when
a domain is started.
More information about the libvir-list