[pve-devel] cpuflag: pcid needed in guest for good performance after meltdown

Alexandre DERUMIER aderumier at odiso.com
Tue Jan 9 13:02:39 CET 2018


>>You mean: 
>>-cpu qemu64,+pcid

yes.

(don't known the perf difference between qemu64 (without pcid), and intel cpu model (without pcid too) ? )


----- Mail original -----
De: "Stefan Priebe, Profihost AG" <s.priebe at profihost.ag>
À: "aderumier" <aderumier at odiso.com>
Cc: "pve-devel" <pve-devel at pve.proxmox.com>
Envoyé: Mardi 9 Janvier 2018 12:57:30
Objet: Re: [pve-devel] cpuflag: pcid needed in guest for good performance after meltdown

Am 09.01.2018 um 12:55 schrieb Alexandre DERUMIER: 
>>> Yes - see an example which does a lot of syscalls: 
> 
> and for qemu64 ? (is it possible to sent +pcid too ?) 

You mean: 
-cpu qemu64,+pcid 
? 

Stefan 

> ----- Mail original ----- 
> De: "Stefan Priebe, Profihost AG" <s.priebe at profihost.ag> 
> À: "aderumier" <aderumier at odiso.com> 
> Cc: "pve-devel" <pve-devel at pve.proxmox.com> 
> Envoyé: Mardi 9 Janvier 2018 12:20:04 
> Objet: Re: [pve-devel] cpuflag: pcid needed in guest for good performance after meltdown 
> 
> Am 09.01.2018 um 10:43 schrieb Alexandre DERUMIER: 
>>>> That's bad as pcid is very important to performance for meltdown fixes 
>>>> in the linux kernel. 
>> 
>> I wonder the difference of performance for 
>> 
>> - qemu64|kvm64 cpu model 
>> - intel cpu model 
>> - intel + pcid cpu model ? 
>> 
>> (currently I'm running mainly qemu64 because I don't need advanced cpu flag) 
>> 
>> Do you have already done some benchmarks ? 
> 
> 
> Yes - see an example which does a lot of syscalls: 
> 
> no tasks running other than du: 
> 
> no pcid: 
> # time for i in $(seq 1 1 50); do du -sx /; done 
> ... 
> real 0m26.614s 
> user 0m17.548s 
> sys 0m9.056s 
> 
> 
> kvm started with +pcid: 
> # time for i in $(seq 1 1 50); do du -sx /; done 
> ... 
> real 0m14.734s 
> user 0m7.755s 
> sys 0m6.973s 
> 
> Greets, 
> Stefan 
> 
>> 
>> ----- Mail original ----- 
>> De: "Stefan Priebe, Profihost AG" <s.priebe at profihost.ag> 
>> À: "aderumier" <aderumier at odiso.com> 
>> Cc: "pve-devel" <pve-devel at pve.proxmox.com> 
>> Envoyé: Mardi 9 Janvier 2018 10:20:39 
>> Objet: Re: [pve-devel] cpuflag: pcid needed in guest for good performance after meltdown 
>> 
>> Am 09.01.2018 um 09:18 schrieb Alexandre DERUMIER: 
>>> they are a discussion on qemu mailing currently about pcid 
>>> 
>>> 
>>> From paolo bonzini: 
>>> 
>>> " 
>>> Note that PCID is still not supported for guests without EPT, so 
>>> this would break ept=0 with recent "-cpu" models. I'm not sure of 
>>> a way to fix it; probably it just has to be documented." 
>> 
>> That's bad as pcid is very important to performance for meltdown fixes 
>> in the linux kernel. 
>> 
>> Stefan 
>> 
>>> 
>>> ----- Mail original ----- 
>>> De: "Stefan Priebe, Profihost AG" <s.priebe at profihost.ag> 
>>> À: "pve-devel" <pve-devel at pve.proxmox.com>, "aderumier" <aderumier at odiso.com> 
>>> Envoyé: Mardi 9 Janvier 2018 08:35:00 
>>> Objet: Re: [pve-devel] cpuflag: pcid needed in guest for good performance after meltdown 
>>> 
>>> Am 08.01.2018 um 23:23 schrieb Alexandre DERUMIER: 
>>>> I think it's not exposed in current cpu model 
>>>> 
>>>> it can be enabled with "+pcid" 
>>>> 
>>>> 
>>>> I don't known what it's the best way to add it in proxmox. 
>>>> We could do it with qemu version upgrade, but qemu 2.10 are not ready. 
>>> 
>>> Yes but that was always bad at least to me. We're limiting ourselfes if 
>>> we can only add new qemu features with a new qemu version. 
>>> 
>>> What about a version or feature field in the guest config which we only 
>>> update on a fresh vm start. 
>>> 
>>> Something like this: 
>>> 123.conf: 
>>> ... 
>>> pve_qemu_version: 2.11-10 
>>> ... 
>>> 
>>> This field is ONLY and ALWAYS updated in a fresh start not on migration. 
>>> This can be easily detected. 
>>> 
>>> Than we can do stuff like 
>>> if (version_cmp($conf->{pve_qemu_version}, "2.11-11")) { 
>>> # enable pcid flag 
>>> } 
>>> 
>>> Greets 
>>> Stefan 
>>> 
>>>> Maybe add new cpumodel with +pcid enabled ? 
>>>> or add code to manage custom cpuflags and add a checkbox in cpu options ? 
>>>> 
>>>> 
>>>> 
>>>> ----- Mail original ----- 
>>>> De: "Stefan Priebe, Profihost AG" <s.priebe at profihost.ag> 
>>>> À: "pve-devel" <pve-devel at pve.proxmox.com> 
>>>> Envoyé: Lundi 8 Janvier 2018 21:34:57 
>>>> Objet: [pve-devel] cpuflag: pcid needed in guest for good performance after meltdown 
>>>> 
>>>> Hello, 
>>>> 
>>>> for meltdown mitigation and performance it's important to have the pcid 
>>>> flag passed down to the guest (f.e. 
>>>> https://groups.google.com/forum/m/#!topic/mechanical-sympathy/L9mHTbeQLNU). 
>>>> 
>>>> My host shows the flag: 
>>>> # grep ' pcid ' /proc/cpuinfo | wc -l 
>>>> 56 
>>>> 
>>>> But the guest does not: 
>>>> # grep pcid /proc/cpuinfo 
>>>> # 
>>>> 
>>>> Guest was started with: 
>>>> -cpu IvyBridge,+kvm_pv_unhalt,+kvm_pv_eoi,enforce,vendor=GenuineIntel 
>>>> 
>>>> Is this something missing in host kernel or in PVE? 
>>>> 
>>>> Greets, 
>>>> Stefan 
>>>> _______________________________________________ 
>>>> pve-devel mailing list 
>>>> pve-devel at pve.proxmox.com 
>>>> https://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel 
>>>> 
>>>> _______________________________________________ 
>>>> pve-devel mailing list 
>>>> pve-devel at pve.proxmox.com 
>>>> https://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel 
>>>> 
>>> 
>> 
> 




More information about the pve-devel mailing list