[libvirt] What is the strategy to update the CPU Models in src/cpu/cpu_map.xml based on?

Dou Liyang douly.fnst at cn.fujitsu.com
Wed May 30 13:15:53 UTC 2018


At 05/30/2018 08:11 PM, Jiri Denemark wrote:
> On Wed, May 30, 2018 at 19:25:53 +0800, Dou Liyang wrote:
>> Hi Jiri,
>>
>> At 05/30/2018 07:08 PM, Jiri Denemark wrote:
>>> On Wed, May 30, 2018 at 18:55:02 +0800, Dou Liyang wrote:
>>>> Hi Jiri,
>>>>
>>>> At 05/30/2018 06:14 PM, Jiri Denemark wrote:
>>>>> [Dropping random people from Cc]
>>>>>
>>>>> On Wed, May 30, 2018 at 18:00:56 +0800, Dou Liyang wrote:
>>>>>> Hi All,
>>>>>>
>>>>>> I am not sure about the update strategy of CPU models in libvirt.
>>>>>>
>>>>>> IMO, It's depend on the CPU model in qemu-kvm, if some CPU models
>>>>>> were updated in qemu-kvm. Then, we should modify the src/cpu/cpu_map.xml
>>>>>> of libvirt to synchronize?
>>>>>
>>>>> No, we never change existing CPU models in cpu_map.xml to make sure the
>>>>> same CPU model is the same across libvirt versions. Not to mention that
>>>>> QEMU only changes existing CPU models for new machine type (for the same
>>>>> compatibility reason) so we can't just change our CPU models since we
>>>>> don't know what machine type their going to be used with. Libvirt will
>>>>> handle the differences in runtime by remembering any additionally
>>>>> enabled or disabled features once domain starts to make sure the exact
>>>>> same CPU is recreated after, e.g., migration.
>>>>>
>>>>
>>>> I see.
>>>>
>>>> Btw, If we found there is a wrong feature in the existing CPU models,
>>>> what should we do?
>>>
>>> What do you mean by wrong feature?
>>
>> In other words, a missing feature. We met a case:
>>
>>     The CPU model named SandyBridge has the PCID feature.
>>     but, in the src/cpu/cpu_map.xml:999, the SandyBridge entry
>>         <model name='SandyBridge'>
>>           ...
>>         </model>
>>
>>     ... didn't included the 'pcid'.
> 
> And how is this different from what you wrote about in the original
> email?
> 
>> BTW, QEMU code also didn't include it when add this CPU model.
>>
>> What should we do?
> 
> You shouldn't need to do anything. If you start a domain with
> SandyBridge CPU model on QEMU which includes PCID in SandyBridge, your
> domain will get it too. As long as PCID can be provided on your host, of
> course. You can check that in the XML of the running domain (e.g.,
> virsh dumpxml $DOM). You should see the pcid feature was added there.
> 
> You can even request it explicitly if you want to have PCID enabled
> regardless what QEMU/libvirt think, but again the host, KVM, and QEMU
> have to be able to actually virtualize that feature.
> 
Hi Jirka,

I understood.

Thanks,
	dou


> Jirka
> 
> 
> 





More information about the libvir-list mailing list