← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1614054] [NEW] Incorrect host cpu is given to emulator threads when cpu_realtime_mask flag is set

 

Public bug reported:

Description of problem:
When using the cpu_realtime and cpu_realtim_mask flag to create new instance, the 'cpuset' of 'emulatorpin' option is using the id of vcpu which is incorrect. The id of host cpu should be used here.

e.g.
  <cputune>
    <vcpupin vcpu='0' cpuset='2'/>
    <vcpupin vcpu='1' cpuset='3'/>
    <emulatorpin cpuset='0'/>          ### the cpuset should be '2' here, when cpu_realtime_mask=^0.  
    <vcpusched vcpus='1' scheduler='fifo' priority='1'/>
  </cputune>

How reproducible:
Boot new instance with cpu_realtime_mask flavor.

Steps to Reproduce:
1. Create RT flavor
nova flavor-create m1.small.performance 6 2048 20 2
nova flavor-key m1.small.performance set hw:cpu_realtime=yes
nova flavor-key m1.small.performance set hw:cpu_realtime_mask=^0
nova flavor-key m1.small.performance set hw:cpu_policy=dedicated
2. Boot a instance with this flavor
3. Check the xml of the new instance

Actual results:
  <cputune>
    <vcpupin vcpu='0' cpuset='2'/>
    <vcpupin vcpu='1' cpuset='3'/>
    <emulatorpin cpuset='0'/>          
    <vcpusched vcpus='1' scheduler='fifo' priority='1'/>
  </cputune>

Expected results:
  <cputune>
    <vcpupin vcpu='0' cpuset='2'/>
    <vcpupin vcpu='1' cpuset='3'/>
    <emulatorpin cpuset='2'/>          
    <vcpusched vcpus='1' scheduler='fifo' priority='1'/>
  </cputune>

** Affects: nova
     Importance: Undecided
     Assignee: sahid (sahid-ferdjaoui)
         Status: In Progress


** Tags: liberty-backport-potential libvirt

** Changed in: nova
     Assignee: (unassigned) => sahid (sahid-ferdjaoui)

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

Title:
  Incorrect host cpu is given to emulator threads when cpu_realtime_mask
  flag is set

Status in OpenStack Compute (nova):
  In Progress

Bug description:
  Description of problem:
  When using the cpu_realtime and cpu_realtim_mask flag to create new instance, the 'cpuset' of 'emulatorpin' option is using the id of vcpu which is incorrect. The id of host cpu should be used here.

  e.g.
    <cputune>
      <vcpupin vcpu='0' cpuset='2'/>
      <vcpupin vcpu='1' cpuset='3'/>
      <emulatorpin cpuset='0'/>          ### the cpuset should be '2' here, when cpu_realtime_mask=^0.  
      <vcpusched vcpus='1' scheduler='fifo' priority='1'/>
    </cputune>

  How reproducible:
  Boot new instance with cpu_realtime_mask flavor.

  Steps to Reproduce:
  1. Create RT flavor
  nova flavor-create m1.small.performance 6 2048 20 2
  nova flavor-key m1.small.performance set hw:cpu_realtime=yes
  nova flavor-key m1.small.performance set hw:cpu_realtime_mask=^0
  nova flavor-key m1.small.performance set hw:cpu_policy=dedicated
  2. Boot a instance with this flavor
  3. Check the xml of the new instance

  Actual results:
    <cputune>
      <vcpupin vcpu='0' cpuset='2'/>
      <vcpupin vcpu='1' cpuset='3'/>
      <emulatorpin cpuset='0'/>          
      <vcpusched vcpus='1' scheduler='fifo' priority='1'/>
    </cputune>

  Expected results:
    <cputune>
      <vcpupin vcpu='0' cpuset='2'/>
      <vcpupin vcpu='1' cpuset='3'/>
      <emulatorpin cpuset='2'/>          
      <vcpusched vcpus='1' scheduler='fifo' priority='1'/>
    </cputune>

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


Follow ups