[libvirt] s390: change default cpu model to host-model?

David Hildenbrand david at redhat.com
Mon Nov 4 10:49:01 UTC 2019


On 02.11.19 11:32, Daniel P. Berrangé wrote:
> On Fri, Nov 01, 2019 at 06:43:16PM +0100, Christian Borntraeger wrote:
>> On the KVM forum I have discussed the default cpu model mode on s390.
>> Right now if the xml does not specify anything, libvirt defaults to
>> not specifying anything on the qemu command line (no -cpu statement)
>> which is the equivalent of -cpu host for s390 which is equivalent to
>> host-passthrough. While this enables all features it does not provide
>> any migration safety by default.
>>
>> So in fact we are kind of "broken" right now when it comes to safery.
>>
>> So we discussed that it would make sense that an empty xml should actually
>> be defaulted to host-model, which results in - as of today - the same guest
>> features but in a migration safe way.
>>
>> There is another change planned right now to actually make the cpu model
>> present in an xml if none was specified. So we could actually do this change
>> before, together  or after te other. Jiri and I think it probably makes most
>> sense to have both changes at the same time (in terms of libvirt version).
>>
>> Does anyone see an issue with changing the default model mode to "host-model"
>> if the xml does not specify anything else?
> 
> Changing from "host-passthrough" to "host-model" is not a huge difference,
> but it is none the less a guest ABI change. "host-passthrough" doesn't
> provide migration safety in the face of differing hardware, it should still
> be valid for people with homogeneous hardware. So changing the model will
> potentially break some existing usage.

I guess on s390x this is not the case ("-cpu host", no "-cpu", and 
passing the expanded "host" model will result in the same guest ABI, in 
contrast to x86 AFAIK). There is this special case, though, where we 
have old QEMUs without CPU model support. Not sure how to deal with 
that, then.

> 
> As the top priority we should definitely make sure that the guest XML
> gets updated to list "host-passthrough" when no CPU is specified, so
> that it reflects the current reality. If libvirt gets this information

+1 to that

> from QEMU, then at some point down the line we can potentially change
> the default by tieing a new default to a versioned machine type. We
> have to wait a little while for old libvirt's to become irrelevant
> wrt new QEMU though.   This is the same issue with changing the default
> CPU on x86 which, though that's possibly harder on x86 as the scope of
> any change is more significant.
-- 

Thanks,

David / dhildenb




More information about the libvir-list mailing list