yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #72536
[Bug 1766208] [NEW] Lift the restriction on choices for `cpu_model_extra_flags` config attribute
Public bug reported:
In the patch[*] that introduced the Nova configuration attribute
`[libvirt]/cpu_model_extra_flags`, we have restricted the choices to be
only 'PCID' -- to alleviate the immediate guest performance degradation
as a result of applying the "Meltdown" CVE fixes.
Now remove that restriction to allow adding and removing multiple CPU
flags, making way for other use cases.
Use cases:
- Ability to use 1GB huge pages with Haswell model as one use case for
extra flags:
cpu_model=Haswell-noTSX-IBRS
cpu_model_extra_flags="pdpe1gb"
- Nested Virtualization -- an operator can specify the Intel 'vmx' or
AMD 'svm' flags in the level-1 Nova guest.
[*] http://git.openstack.org/cgit/openstack/nova/commit/?h=master&
id=6b601b7 -- libvirt: Allow to specify granular CPU feature flags
A potential example of specifying multiple CPU feature flags
------------------------------------------------------------
If you specify:
[libvirt]
cpu_mode=custom
cpu_model=IvyBridge
cpu_model_extra_flags="+pcid,-mtrr,pdpe1gb"
Then, Nova should generate the below XML:
<cpu match='exact'>
<model fallback='forbid'>IvyBridge</model>
<vendor>Intel</vendor>
<feature policy='require' name='pcid'/>
<feature policy='require' name='pdpe1gb'/>
</cpu>
The +/- for individual flags in nova.conf will be optional. If nothing
is specified, assume '+'.
You might ask: "Why would you want to remove a CPU flag though?" One
scenario for that is: An Operator wants to generate a baseline CPU
config. And a certain CPU flag is causing performance issue or other
nuisance, and if the Operator isolated the problem to _that_ specific
CPU flag, then she may want to remove the flag.
** Affects: nova
Importance: Undecided
Assignee: Kashyap Chamarthy (kashyapc)
Status: New
** Tags: libvirt
** Changed in: nova
Assignee: (unassigned) => Kashyap Chamarthy (kashyapc)
** Tags added: libvirt
** Description changed:
In the patch[*] that introduced the Nova configuration attribute
`[libvirt]/cpu_model_extra_flags`, we have restricted the choices to be
only 'PCID' -- to alleviate the immediate guest performance degradation
as a result of applying the "Meltdown" CVE fixes.
Now remove that restriction to allow adding and removing multiple CPU
flags, making way for other use cases.
Use cases:
- - Ability to use 1GB huge pages with Haswell model as one use case for
- extra flags:
+ - Ability to use 1GB huge pages with Haswell model as one use case for
+ extra flags:
- cpu_model=Haswell-noTSX-IBRS
- cpu_model_extra_flags="pdpe1gb"
+ cpu_model=Haswell-noTSX-IBRS
+ cpu_model_extra_flags="pdpe1gb"
- - Nested Virtualization -- an operator can specify the Intel 'vmx' or
- AMD 'svm' flags in the level-1 Nova guest.
+ - Nested Virtualization -- an operator can specify the Intel 'vmx' or
+ AMD 'svm' flags in the level-1 Nova guest.
- [*] http://git.openstack.org/cgit/openstack/nova/commit/?h=master&id=6b601b7
- -- libvirt: Allow to specify granular CPU feature flags
-
+ [*]
+ http://git.openstack.org/cgit/openstack/nova/commit/?h=master&id=6b601b7
+ -- libvirt: Allow to specify granular CPU feature flags
A potential example of specifying multiple CPU feature flags
------------------------------------------------------------
If you specify:
- [libvirt]
- cpu_mode=custom
- cpu_model=IvyBridge
- cpu_model_extra_flags="+pcid,-mtrr,pdpe1gb"
+ [libvirt]
+ cpu_mode=custom
+ cpu_model=IvyBridge
+ cpu_model_extra_flags="+pcid,-mtrr,pdpe1gb"
Then, Nova should generate the below XML:
- <cpu match='exact'>
- <model fallback='forbid'>IvyBridge</model>
- <vendor>Intel</vendor>
- <feature policy='require' name='pcid'/>
- <feature policy='require' name='pdpe1gb'/>
- </cpu>
+ <cpu match='exact'>
+ <model fallback='forbid'>IvyBridge</model>
+ <vendor>Intel</vendor>
+ <feature policy='require' name='pcid'/>
+ <feature policy='require' name='pdpe1gb'/>
+ </cpu>
The +/- for individual flags in nova.conf will be optional. If nothing
is specified, assume '+'.
You might ask: "Why would you want to remove a CPU flag though?" One
scenario for that is: An Operator wants to generate a baseline CPU
config. And a certain CPU flag is causing performance issue or other
nuisance, and if the Operator isolated the problem to _that_ specific
CPU flag, then she may want to remove the flag.
** Description changed:
In the patch[*] that introduced the Nova configuration attribute
`[libvirt]/cpu_model_extra_flags`, we have restricted the choices to be
only 'PCID' -- to alleviate the immediate guest performance degradation
as a result of applying the "Meltdown" CVE fixes.
Now remove that restriction to allow adding and removing multiple CPU
flags, making way for other use cases.
Use cases:
- Ability to use 1GB huge pages with Haswell model as one use case for
extra flags:
cpu_model=Haswell-noTSX-IBRS
cpu_model_extra_flags="pdpe1gb"
- Nested Virtualization -- an operator can specify the Intel 'vmx' or
AMD 'svm' flags in the level-1 Nova guest.
- [*]
- http://git.openstack.org/cgit/openstack/nova/commit/?h=master&id=6b601b7
- -- libvirt: Allow to specify granular CPU feature flags
+ [*] http://git.openstack.org/cgit/openstack/nova/commit/?h=master&
+ id=6b601b7 -- libvirt: Allow to specify granular CPU feature flags
+
A potential example of specifying multiple CPU feature flags
------------------------------------------------------------
If you specify:
[libvirt]
cpu_mode=custom
cpu_model=IvyBridge
cpu_model_extra_flags="+pcid,-mtrr,pdpe1gb"
Then, Nova should generate the below XML:
<cpu match='exact'>
<model fallback='forbid'>IvyBridge</model>
<vendor>Intel</vendor>
<feature policy='require' name='pcid'/>
<feature policy='require' name='pdpe1gb'/>
</cpu>
The +/- for individual flags in nova.conf will be optional. If nothing
is specified, assume '+'.
You might ask: "Why would you want to remove a CPU flag though?" One
scenario for that is: An Operator wants to generate a baseline CPU
config. And a certain CPU flag is causing performance issue or other
nuisance, and if the Operator isolated the problem to _that_ specific
CPU flag, then she may want to remove the flag.
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1766208
Title:
Lift the restriction on choices for `cpu_model_extra_flags` config
attribute
Status in OpenStack Compute (nova):
New
Bug description:
In the patch[*] that introduced the Nova configuration attribute
`[libvirt]/cpu_model_extra_flags`, we have restricted the choices to be
only 'PCID' -- to alleviate the immediate guest performance degradation
as a result of applying the "Meltdown" CVE fixes.
Now remove that restriction to allow adding and removing multiple CPU
flags, making way for other use cases.
Use cases:
- Ability to use 1GB huge pages with Haswell model as one use case for
extra flags:
cpu_model=Haswell-noTSX-IBRS
cpu_model_extra_flags="pdpe1gb"
- Nested Virtualization -- an operator can specify the Intel 'vmx' or
AMD 'svm' flags in the level-1 Nova guest.
[*] http://git.openstack.org/cgit/openstack/nova/commit/?h=master&
id=6b601b7 -- libvirt: Allow to specify granular CPU feature flags
A potential example of specifying multiple CPU feature flags
------------------------------------------------------------
If you specify:
[libvirt]
cpu_mode=custom
cpu_model=IvyBridge
cpu_model_extra_flags="+pcid,-mtrr,pdpe1gb"
Then, Nova should generate the below XML:
<cpu match='exact'>
<model fallback='forbid'>IvyBridge</model>
<vendor>Intel</vendor>
<feature policy='require' name='pcid'/>
<feature policy='require' name='pdpe1gb'/>
</cpu>
The +/- for individual flags in nova.conf will be optional. If nothing
is specified, assume '+'.
You might ask: "Why would you want to remove a CPU flag though?" One
scenario for that is: An Operator wants to generate a baseline CPU
config. And a certain CPU flag is causing performance issue or other
nuisance, and if the Operator isolated the problem to _that_ specific
CPU flag, then she may want to remove the flag.
To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1766208/+subscriptions
Follow ups