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?
Partially.
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.
Jirka