[libvirt] [PATCHv2 11/11] qemu_driver: BaselineHypervisorCPU supports S390 using QEMU/QMP

David Hildenbrand david at redhat.com
Tue Jul 24 11:33:35 UTC 2018


On 23.07.2018 22:16, Collin Walling wrote:
> On 07/21/2018 12:05 AM, Chris Venteicher wrote:
>> Quoting David Hildenbrand (2018-07-18 02:26:24)
>>> On 18.07.2018 00:39, Collin Walling wrote:
>>>> On 07/17/2018 05:01 PM, David Hildenbrand wrote:
>>>>> On 13.07.2018 18:00, Jiri Denemark wrote:
>>>>>> On Mon, Jul 09, 2018 at 22:56:55 -0500, Chris Venteicher wrote:
>>>>>>> Transient S390 configurations require using QEMU to compute CPU Model
>>>>>>> Baseline and to do CPU Feature Expansion.
>>>>>>>
>>>>>>> Start and use a single QEMU instance to do both the baseline and
>>>>>>> expansion transactions required by BaselineHypervisorCPU.
>>>>>>>
>>>>>>> CPU Feature Expansion uses true / false to indicate if property is/isn't
>>>>>>> included in model. Baseline only returns property list where all
>>>>>>> enumerated properties are included.
>>>>>>
>>>>>> So are you saying on s390 there's no chance there would be a CPU model
>>>>>> with some feature which is included in the CPU model disabled for some
>>>>>> reason? Sounds too good to be true :-) (This is the question I referred
>>>>>> to in one of my replies to the other patches.)
>>>>>
>>>>> Giving some background information: When we expand/baseline CPU models,
>>>>> we always expand them to the "-base" variants of our CPU models, which
>>>>> contain some set of features we expect to be around in all sane
>>>>> configurations ("minimal feature set").
>>>>>
>>>>> It is very unlikely that we ever have something like
>>>>> "z14-base,featx=off", but it could happen
>>>>>  - When using an emulator (TCG)
>>>>>  - When running nested and the guest hypervisor is started with such a
>>>>>    strange CPU model
>>>>>  - When something in the HW is very wrong or eventually removed in the
>>>>>    future (unlikely but possible)
>>>>>
>>>>> On some very weird inputs to a baseline request, such a strange model
>>>>> can also be the result. But it is very unusual.
>>>>>
>>>>> I assume something like "baseline z14-base,featx=off with z14-base" will
>>>>> result in "z14-base,featx=off", too.
>>>>>
>>>>>
>>>>
>>>> That's correct. A CPU model with a feature disabled that is baseline with a CPU 
>>>> model with that same feature enabled will omit that feature in the QMP response.
>>>>
>>>> e.g. if z14-base has features x, y, z then
>>>>
>>>> "baseline z14-base,featx=off with z14-base" will result in "z14-base,featy=on,featz=on"
>>
>> I am runing tests on both S390 and X86 (hacked QEMU to enable baseline).
>>
>> I don't see a "false" property in the baseline response in any of the logs.
> 
> Right... baseline should not be returning any properties paired with false. It
> constructs a third CPU model with properties that can run on both CPUs.
> 

Let me rephrase: We don't return "false" for any property when
baselining as of now, but this might change in the future. It is
undocumented behavior.


-- 

Thanks,

David / dhildenb




More information about the libvir-list mailing list