[libvirt] [PATCH 0/4] qemu: Use host-model CPU on s390 by default

Boris Fiuczynski fiuczy at linux.ibm.com
Fri Nov 22 10:06:14 UTC 2019

On 11/19/19 3:02 PM, Jiri Denemark wrote:
> On Mon, Nov 18, 2019 at 18:34:36 +0100, Boris Fiuczynski wrote:
>> On 11/15/19 4:14 PM, Jiri Denemark wrote:
>>> On Fri, Nov 15, 2019 at 15:55:04 +0100, Christian Borntraeger wrote:
>>>> On 15.11.19 15:47, Jiri Denemark wrote:
>>>>> On Fri, Nov 15, 2019 at 15:12:18 +0100, Boris Fiuczynski wrote:
>>>>>> Just a heads up.
>>>>>> After installing libvirt rpms of this branch all my existing kvm s390
>>>>>> domains ended up with
>>>>>>      <cpu mode='custom' match='exact' check='none'>
>>>>>>        <model fallback='forbid'>qemu</model>
>>>>>>      </cpu>
>>>>>> Newly defined domains without specified cpu do so as well.
>>>>> Unless the domains are all TCG, it seems your QEMU is too old. You need
>>>>> a fairly recent one which contains commit v4.1.0-1683-gde60a92ea7
>>>>> (s390x/kvm: Set default cpu model for all machine classes)
>>>>> I the domains all use KVM and you have new enough QEMU, there might be a
>>>>> bug somewhere. Which should not happen :=)
>>>> So shouldnt libvirt fence this rework (add default model) to qemu 4.2 and newer?
>>> Libvirt does all this only if query-machines returns default-cpu-type,
>>> which is introduced in 4.2. But since it was introduced earlier, anyone
>>> using qemu from git between the two commits will see this behavior.
>>> Somewhat similar thing will happen on ppc64, but even with the current
>>> master. Everything should be OK once QEMU 4.2.0 final release is used,
>>> though (since it will contain all required patches).
>>> Jirka
>> I tested with a newer version of qemu and it worked as you outlined.
>> After that I also tested with qemu v4.1.0. I was a bit surprised at
>> first that a default host-model cpu was generated since I though it
>> would only be done when the qemu has the commit your specified above.
>> After reading your patch 4 the generation is tied to the cpu-model
>> support in qemu. Since this became available on s390 with qemu v2.8.0 I
>> created an additional test patch just to ensure that we do not lose
>> backwards compatibility.
> Oh, are you saying QEMU on s390 returns default-cpu-type in
> query-machines reply even with v4.1.0 and older? I don't see it in our
> test replies from anything older then v4.2.0.
> Anyway, libvirt should not set the default CPU with QEMU 4.1.0 and if it
> does, I have a bug in my patches :-)
No you don't have a bug in your patches. I had a bug in my tests. :-(
It works as you outlined. The cpu-model is set if QEMU 4.2.0 is used but 
not for 4.1.0 and older.

> qemuDomainDefSetDefaultCPU should not be called at all on QEMU 4.1.0 or
> older. The check for cpu-model support in this function is an additional
> check and this support should not be sufficient for the default CPU to
> be filled in.
> Jirka
> --
> libvir-list mailing list
> libvir-list at redhat.com
> https://www.redhat.com/mailman/listinfo/libvir-list

Mit freundlichen Grüßen/Kind regards
    Boris Fiuczynski

IBM Deutschland Research & Development GmbH
Vorsitzender des Aufsichtsrats: Matthias Hartmann
Geschäftsführung: Dirk Wittkopp
Sitz der Gesellschaft: Böblingen
Registergericht: Amtsgericht Stuttgart, HRB 243294

More information about the libvir-list mailing list