Bug 1190719
| Summary: | when using dedicated cpus, the emulator thread should be affined as well | ||
|---|---|---|---|
| Product: | Red Hat OpenStack | Reporter: | RHOS Integration <rhos-integ> |
| Component: | openstack-nova | Assignee: | Sahid Ferdjaoui <sferdjao> |
| Status: | CLOSED ERRATA | QA Contact: | Sean Toner <stoner> |
| Severity: | high | Docs Contact: | |
| Priority: | high | ||
| Version: | 6.0 (Juno) | CC: | berrange, dasmith, eglynn, jshortt, kchamart, ndipanov, nlevinki, pbrady, sbauza, sclewis, sferdjao, sgordon, slong, stoner, vromanso, yeylon |
| Target Milestone: | z2 | Keywords: | ZStream |
| Target Release: | 6.0 (Juno) | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | openstack-nova-2014.2.2-17.el7ost | Doc Type: | Bug Fix |
| Doc Text: |
Previously, emulator threads (for vCPUs) floated on the union of the set of all NUMA CPUs, even if the CPUs were dedicated, which meant that an emulator thread could consume CPU time from another guest instance. With this fix, emulator threads now only use the union of dedicated host CPUs, and that CPU's time, on which guest vCPUs are running.
|
Story Points: | --- |
| Clone Of: | Environment: | ||
| Last Closed: | 2015-04-07 15:09:29 UTC | Type: | --- |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
| Bug Depends On: | |||
| Bug Blocks: | 743661, 1038706, 1076956, 1198800 | ||
|
Description
RHOS Integration
2015-02-09 14:20:20 UTC
There is a mistake in the way emulator CPU set is calculated. It is using a union of all CPUs in host NUMA nodes that the guest is running on. It should only be using the union of host CPUs that the guest vCPUs are running on. A subtle but important distinction. *** Bug 1157736 has been marked as a duplicate of this bug. *** In progress fix starting review upstream https://review.openstack.org/#/c/154580/ This looks good. I also created a 2 vcpu flavor with a policy of dedicated, and looked at the domain xml:
<cputune>
<vcpupin vcpu='0' cpuset='0'/>
<vcpupin vcpu='1' cpuset='1'/>
<emulatorpin cpuset='0-1'/>
</cputune>
I checked the cpu affinity, and it looks good now:
[root@rhos-compute-node-06 ~]# taskset -apc 21368
pid 21368's current affinity list: 0-11
pid 21372's current affinity list: 0-11
pid 21373's current affinity list: 0-11
pid 21374's current affinity list: 0-11
pid 21375's current affinity list: 0-11
pid 21376's current affinity list: 0-11
pid 17558's current affinity list: 0-11
pid 17567's current affinity list: 0-11
... # all are affined to 0-11
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://rhn.redhat.com/errata/RHSA-2015-0790.html |