when using dedicated cpus, the emulator thread should be affined as well
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
Fix Released
|
Medium
|
Daniel Berrange |
Bug Description
I'm running nova trunk, commit 752954a.
I configured a flavor with two vcpus and extra specs "hw:cpu_
I booted up an instance with this flavor, and "virsh dumpxml" shows that the two vcpus were affined suitably to host cpus, but the emulator thread was left to float across the available host cores on that numa node.
<cputune>
<shares>
<vcpupin vcpu='0' policy='other' priority='0' cpuset='4'/>
<vcpupin vcpu='1' policy='other' priority='0' cpuset='5'/>
<emulatorpin cpuset='3-11'/>
</cputune>
Looking at the kvm process shortly after creation, we see quite a few emulator threads running with the emulatorpin affinity:
compute-2:~$ taskset -apc 136143
pid 136143's current affinity list: 3-11
pid 136144's current affinity list: 0,3-24,27-47
pid 136146's current affinity list: 4
pid 136147's current affinity list: 5
pid 136149's current affinity list: 0
pid 136433's current affinity list: 3-11
pid 136434's current affinity list: 3-11
pid 136435's current affinity list: 3-11
pid 136436's current affinity list: 3-11
pid 136437's current affinity list: 3-11
pid 136438's current affinity list: 3-11
pid 136439's current affinity list: 3-11
pid 136440's current affinity list: 3-11
pid 136441's current affinity list: 3-11
pid 136442's current affinity list: 3-11
pid 136443's current affinity list: 3-11
pid 136444's current affinity list: 3-11
pid 136445's current affinity list: 3-11
pid 136446's current affinity list: 3-11
pid 136447's current affinity list: 3-11
pid 136448's current affinity list: 3-11
pid 136449's current affinity list: 3-11
pid 136450's current affinity list: 3-11
pid 136451's current affinity list: 3-11
pid 136452's current affinity list: 3-11
pid 136453's current affinity list: 3-11
pid 136454's current affinity list: 3-11
Since the purpose of "hw:cpu_
Personally I'd like to see the emulator thread affined the same as guest vCPU 0 (we use guest vCPU0 as a maintenance processor while doing the "real work" on the other vCPUs), but an argument could be made that it should be affined to the logical OR of all the guest vCPU cpusets.
Changed in nova: | |
importance: | Undecided → Medium |
status: | New → Confirmed |
tags: | added: juno-backport-potential |
Changed in nova: | |
milestone: | none → kilo-3 |
status: | Fix Committed → Fix Released |
Changed in nova: | |
milestone: | kilo-3 → 2015.1.0 |
Fix proposed to branch: master /review. openstack. org/154580
Review: https:/