Activity log for bug #1750829

Date Who What changed Old value New value Message
2018-02-21 14:09:15 Kashyap Chamarthy bug added bug
2018-02-21 14:13:33 Kashyap Chamarthy tags libvirt
2018-02-21 14:15:25 OpenStack Infra nova: status New In Progress
2018-02-21 14:15:25 OpenStack Infra nova: assignee Kashyap Chamarthy (kashyapc)
2018-03-12 14:39:30 Kashyap Chamarthy description Motivation ---------- The recent "Meltdown" CVE fixes resulted in criticial performance penalty, From here[*]: [...] However, in examining both the various fixes rolled out in actual Linux distros over the past few days and doing some very informal surveying of environments I have access to, I discovered that the PCID ["process-context identifiers"] processor feature, which used to be a virtual no-op, is now a performance AND security critical item.[...] So if a Nova user has applied all the "Meltdown" CVE fixes, and is using a named CPU model (like "IvyBridge", or "Westmere" — which specifically lack the said obscure "PCID" feature) they will incur severe performance degradation[*]. Note that some of Intel *physical* CPUs themselves include the 'pcid' CPU feature flag; but the named CPU models provided by libvirt & QEMU lack that flag — hence we explicitly specify it for virtual CPUs via the following proposed config attribute. [*] https://groups.google.com/forum/m/#!topic/mechanical-sympathy/L9mHTbeQLNU Proposed change --------------- Modify Nova's libvirt driver such that it will be possible to set granular CPU feature flags for named CPU models. E.g. to explicitly specify the 'pcid' feature flag with Intel IvyBridge CPU model, set the following in /etc/nova.conf: ... [libvirt] cpu_model=IvyBridge cpu_model_extra_flags="pcid" ... The list of known CPU feature flags ('vmx', 'xtpr', 'pcid', et cetera) can be found in /usr/share/libvirt/cpu_map.xml. Note that before specifying extra CPU feature flags, one should check if the named CPU models (provided by libvirt) already include the said flags. E.g. the 'Broadwell', 'Haswell-noTSX' named CPU models provided by libvirt already provides the 'pcid' CPU feature flag. Other use cases --------------- - Nested Virtualization — an operator can specify the Intel 'vmx' or AMD 'svm' flags in the level-1 guest (i.e. the guest hypervisor) - Ability to use 1GB huge pages with Haswell model as one use case for extra flags (thanks: Daniel Berrangé, for mentioning this scenario): cpu_model_extra_flags=Haswell cpu_model_extra_flags="pdpe1gb" Motivation ---------- The recent "Meltdown" CVE fixes resulted in critical performance penalty, From here[*]:     [...] However, in examining both the various fixes rolled out in     actual Linux distros over the past few days and doing some very     informal surveying of environments I have access to, I discovered     that the PCID ["process-context identifiers"] processor feature,     which used to be a virtual no-op, is now a performance AND security     critical item.[...] So if a Nova user has applied all the "Meltdown" CVE fixes, and is using a named CPU model (like "IvyBridge", or "Westmere" — which specifically lack the said obscure "PCID" feature) they will incur severe performance degradation[*]. Note that some of Intel *physical* CPUs themselves include the 'pcid' CPU feature flag; but the named CPU models provided by libvirt & QEMU lack that flag — hence we explicitly specify it for virtual CPUs via the following proposed config attribute. [*] https://groups.google.com/forum/m/#!topic/mechanical-sympathy/L9mHTbeQLNU Proposed change --------------- Modify Nova's libvirt driver such that it will be possible to set granular CPU feature flags for named CPU models. E.g. to explicitly specify the 'pcid' feature flag with Intel IvyBridge CPU model, set the following in /etc/nova.conf:     ...     [libvirt]     cpu_model=IvyBridge     cpu_model_extra_flags="pcid"     ... The list of known CPU feature flags ('vmx', 'xtpr', 'pcid', et cetera) can be found in /usr/share/libvirt/cpu_map.xml. Note that before specifying extra CPU feature flags, one should check if the named CPU models (provided by libvirt) already include the said flags. E.g. the 'Broadwell', 'Haswell-noTSX' named CPU models provided by libvirt already provides the 'pcid' CPU feature flag. Other use cases ---------------   - Nested Virtualization — an operator can specify the Intel 'vmx' or     AMD 'svm' flags in the level-1 guest (i.e. the guest hypervisor)   - Ability to use 1GB huge pages with Haswell model as one use case for     extra flags (thanks: Daniel Berrangé, for mentioning this scenario):         cpu_model_extra_flags=Haswell         cpu_model_extra_flags="pdpe1gb"
2018-03-22 09:43:35 Kashyap Chamarthy nova: importance Undecided High
2018-04-04 12:15:20 Andrey Volkov bug added subscriber Andrey Volkov
2018-04-05 16:38:20 Matt Riedemann nominated for series nova/queens
2018-04-05 16:38:20 Matt Riedemann bug task added nova/queens
2018-04-05 16:38:20 Matt Riedemann nominated for series nova/pike
2018-04-05 16:38:20 Matt Riedemann bug task added nova/pike
2018-04-05 16:38:26 Matt Riedemann nova/pike: status New Confirmed
2018-04-05 16:38:29 Matt Riedemann nova/queens: status New Confirmed
2018-04-05 16:38:32 Matt Riedemann nova/pike: importance Undecided Medium
2018-04-05 16:38:35 Matt Riedemann nova/queens: importance Undecided Medium
2018-04-06 15:00:08 OpenStack Infra nova: status In Progress Fix Released
2018-04-09 10:53:12 OpenStack Infra nova/queens: status Confirmed In Progress
2018-04-09 10:53:12 OpenStack Infra nova/queens: assignee Kashyap Chamarthy (kashyapc)
2018-04-09 10:53:43 OpenStack Infra nova/pike: status Confirmed In Progress
2018-04-09 10:53:43 OpenStack Infra nova/pike: assignee Kashyap Chamarthy (kashyapc)
2018-04-10 14:02:04 OpenStack Infra nova/queens: assignee Kashyap Chamarthy (kashyapc) Matt Riedemann (mriedem)
2018-04-10 14:07:43 Matt Riedemann nova/queens: assignee Matt Riedemann (mriedem) Kashyap Chamarthy (kashyapc)
2018-04-10 20:18:15 OpenStack Infra nova/queens: status In Progress Fix Committed
2018-04-10 20:19:03 OpenStack Infra nova/pike: assignee Kashyap Chamarthy (kashyapc) Matt Riedemann (mriedem)
2018-04-10 20:19:24 Matt Riedemann nova/pike: assignee Matt Riedemann (mriedem) Kashyap Chamarthy (kashyapc)
2018-04-11 19:29:02 OpenStack Infra nova/pike: status In Progress Fix Committed
2018-04-21 00:52:35 OpenStack Infra tags libvirt in-stable-ocata libvirt
2018-04-25 15:48:22 Matt Riedemann nominated for series nova/ocata
2018-04-25 15:48:22 Matt Riedemann bug task added nova/ocata
2018-04-25 15:48:43 Matt Riedemann nova/ocata: status New Fix Released
2018-04-25 15:48:45 Matt Riedemann nova/ocata: importance Undecided Medium
2018-04-25 15:48:50 Matt Riedemann nova/ocata: assignee Lee Yarwood (lyarwood)
2018-05-03 09:51:52 OpenStack Infra tags in-stable-ocata libvirt in-stable-ocata in-stable-queens libvirt
2018-05-03 15:11:49 OpenStack Infra tags in-stable-ocata in-stable-queens libvirt in-stable-ocata in-stable-pike in-stable-queens libvirt
2018-07-06 23:33:18 Frode Nordahl bug task added charm-nova-compute
2018-07-16 17:08:49 OpenStack Infra charm-nova-compute: status New Fix Committed
2018-07-16 17:10:22 Frode Nordahl charm-nova-compute: assignee Chris MacNaughton (chris.macnaughton)
2018-07-16 17:10:27 Frode Nordahl charm-nova-compute: importance Undecided Medium
2018-07-16 17:10:38 Frode Nordahl charm-nova-compute: milestone 18.08
2018-09-06 14:41:15 David Ames charm-nova-compute: status Fix Committed Fix Released