← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1744965] Re: 'emulator_threads_policy' doesn't work with 'vcpu_pin_set'

 

Reviewed:  https://review.openstack.org/537363
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=f200a4ad264cae774ce3fc442c96e6c3a937157e
Submitter: Zuul
Branch:    master

commit f200a4ad264cae774ce3fc442c96e6c3a937157e
Author: Stephen Finucane <sfinucan@xxxxxxxxxx>
Date:   Tue Jan 23 16:09:07 2018 +0000

    Ensure emulator threads are always calculated
    
    In change 'I071182c00a0', the '_get_pinning' inner function of
    'nova.virt.hardware._pack_instance_onto_cores' was extended to calculate
    emulator thread pinning information along with guest vCPU pinning
    information. Unfortunately, there is a code path used for calculating
    vCPU pinning information in '_pack_instance_onto_cores' which does not
    use this function and emulator thread pinning was therefore not being
    calculated in some cases.
    
    Replace this code path with a call to '_get_pinning', ensuring that all
    permutations follow a similar flow and that the emulator thread pinning
    information is calculated, as expected.
    
    We also add a log which appears to have been missed in the
    aforementioned change.
    
    Change-Id: I021ce59048d6292055af49457ba642022f648c81
    Closes-Bug: #1744965


** Changed in: nova
       Status: In Progress => Fix Released

-- 
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/1744965

Title:
  'emulator_threads_policy' doesn't work with 'vcpu_pin_set'

Status in OpenStack Compute (nova):
  Fix Released

Bug description:
  When hyper threading is enabled, the way emulator_threads_policy
  allocates the extra cpu resource for emulator is not optimal.

  The instance I use for testing is a 6-vcpu VM; before enable this
  emulator_threads_policy, I reserve 6 cpu (actually 6 threads since we
  enable hyper threading) in nova config,

   vcpu_pin_set=8,10,12,32,34,36

  Now when we enable emulator_threads_policy, in stead of adding one
  more thread to this vcpu pin list in the nova config, I end up adding
  two more sibling threads (on the same core)

   vcpu_pin_set=8,10,12,16,32,34,36,40

  So I ended up using 2 more threads, but only of them is used for
  emulator and the other thread is wasted.

  Originally reported on Bugzilla - https://bugzilla.redhat.com/1534669

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1744965/+subscriptions


References