← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1654345] [NEW] realtime emulatorpin should use pcpus, not vcpus

 

Public bug reported:

When specifying "hw:cpu_realtime_mask" in the flavor,
LibvirtDriver._get_guest_numa_config() calls
hardware.vcpus_realtime_topology() to calculate "vcpus_rt" and
"vcpus_em".  It then directly uses "vcpus_em" to set the "emulatorpin"
cpuset.

The problem is that libvirt expects the "emulatorpin" cpuset to be
specified as physical CPUs, not virtual CPUs.

This results in unexpected values being used for the emulator pinning.

The fix is to convert "vcpus_em" from vCPUs to pCPUs, and assign the
pCPUs to the "emulatorpin" cpuset.

** Affects: nova
     Importance: Undecided
     Assignee: Chris Friesen (cbf123)
         Status: New


** Tags: compute libvirt newton-backport-potential

** Description changed:

  When specifying "hw:cpu_realtime_mask" in the flavor,
  LibvirtDriver._get_guest_numa_config() calls
  hardware.vcpus_realtime_topology() to calculate "vcpus_rt" and
  "vcpus_em".  It then directly uses "vcpus_em" to set the "emulatorpin"
  cpuset.
  
  The problem is that libvirt expects the "emulatorpin" cpuset to be
  specified as physical CPUs, not virtual CPUs.
  
+ This results in unexpected values being used for the emulator pinning.
+ 
  The fix is to convert "vcpus_em" from vCPUs to pCPUs, and assign the
  pCPUs to the "emulatorpin" cpuset.

** Changed in: nova
     Assignee: (unassigned) => Chris Friesen (cbf123)

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

Title:
  realtime emulatorpin should use pcpus, not vcpus

Status in OpenStack Compute (nova):
  New

Bug description:
  When specifying "hw:cpu_realtime_mask" in the flavor,
  LibvirtDriver._get_guest_numa_config() calls
  hardware.vcpus_realtime_topology() to calculate "vcpus_rt" and
  "vcpus_em".  It then directly uses "vcpus_em" to set the "emulatorpin"
  cpuset.

  The problem is that libvirt expects the "emulatorpin" cpuset to be
  specified as physical CPUs, not virtual CPUs.

  This results in unexpected values being used for the emulator pinning.

  The fix is to convert "vcpus_em" from vCPUs to pCPUs, and assign the
  pCPUs to the "emulatorpin" cpuset.

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


Follow ups