yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #58343
[Bug 1614054] Re: Incorrect host cpu is given to emulator threads when cpu_realtime_mask flag is set
Reviewed: https://review.openstack.org/356383
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=6683bf9b7dc575ef9516f0cdc395b8da1b81c233
Submitter: Jenkins
Branch: master
commit 6683bf9b7dc575ef9516f0cdc395b8da1b81c233
Author: Sahid Orentino Ferdjaoui <sahid.ferdjaoui@xxxxxxxxxx>
Date: Wed Aug 17 06:51:25 2016 -0400
libvirt: fix incorrect host cpus giving to emulator threads when RT
Realtime guarantees in certain operating systems require that the
thread that is running the QEMU emulator is pinned to a physical CPU
that is *not* the same as any physical CPU that the vCPUs for a
realtime guest are pinned to. This patch ensures that the value of the
hw:cpu_realtime_mask flavor extraspec property is respected when
creating the libvirt configuration XML and sets emulatorpin values to
a physical CPU matching the hw:cpu_realtime_mask value.
Change-Id: I7f50dde0753b059a690dc50172fee645c94b8e5b
Closes-Bug: #1614054
** 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/1614054
Title:
Incorrect host cpu is given to emulator threads when cpu_realtime_mask
flag is set
Status in OpenStack Compute (nova):
Fix Released
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
References