yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #72617
[Bug 1766208] Re: Lift the restriction on choices for `cpu_model_extra_flags` config attribute
Not to belabor this: FWIW, as you know, we intentionally restricted the
original feature. So now we're just fixing that "bad" implementation.
So personally, I'd prefer to track this item in this bug too. But if
you really insist, I can let it go.
** Changed in: nova
Status: Invalid => In Progress
--
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):
In Progress
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
References