← Back to team overview

yahoo-eng-team team mailing list archive

[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