[pve-devel] cpuflag: pcid needed in guest for good performance after meltdown
Stefan Priebe - Profihost AG
s.priebe at profihost.ag
Tue Jan 9 12:20:04 CET 2018
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