[pve-devel] cpuflag: pcid needed in guest for good performance after meltdown
Stefan Priebe - Profihost AG
s.priebe at profihost.ag
Tue Jan 9 14:39:48 CET 2018
Am 09.01.2018 um 14:36 schrieb Alexandre DERUMIER:
>>> i've the first customers having impacts. Current badest example: instead
>>> of 12% cpu load 75% cpu load in guest.
>
> Just curious, what kind of workload ?
MySQL only - small blocks
> I think with ceph and librbd, it'll hurt too for small block.
Yes i'm booting ceph as well with pti=off / have no updated them at all.
> (I think I'll disable the patch cluster/osd side, as it's in a secure network, but client side will be impacted)
So the problem in my case is completely client impacted.
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 14:32:27
> Objet: Re: [pve-devel] cpuflag: pcid needed in guest for good performance after meltdown
>
> Am 09.01.2018 um 14:24 schrieb Alexandre DERUMIER:
>> ok thanks !
>
> i've the first customers having impacts. Current badest example: instead
> of 12% cpu load 75% cpu load in guest.
>
>> ----- 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 14:10:27
>> Objet: Re: [pve-devel] cpuflag: pcid needed in guest for good performance after meltdown
>>
>> Am 09.01.2018 um 13:02 schrieb Alexandre DERUMIER:
>>>>> You mean:
>>>>> -cpu qemu64,+pcid
>>>
>>> yes.
>>>
>>> (don't known the perf difference between qemu64 (without pcid), and intel cpu model (without pcid too) ? )
>>
>> The results are nearly the same.
>>
>> Same VM as before now model qemu64,+pcid:
>> real 0m13.870s
>> user 0m7.128s
>> sys 0m6.697s
>>
>> qemu64:
>> real 0m25.214s
>> user 0m16.923s
>> sys 0m8.956s
>>
>> 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: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