Bug 1041073 - [RFE][nova]: Support vcpu_pin_set in the XenAPI driver
Summary: [RFE][nova]: Support vcpu_pin_set in the XenAPI driver
Keywords:
Status: CLOSED UPSTREAM
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: openstack-nova
Version: unspecified
Hardware: Unspecified
OS: Unspecified
low
low
Target Milestone: Upstream M2
: 5.0 (RHEL 7)
Assignee: RHOS Maint
QA Contact:
URL: https://blueprints.launchpad.net/nova...
Whiteboard: upstream_milestone_icehouse-2 upstrea...
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-12-12 13:34 UTC by RHOS Integration
Modified: 2019-09-09 13:26 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: Enhancement
Doc Text:
Clone Of:
Environment:
Last Closed: 2013-12-12 21:31:49 UTC
Target Upstream Version:


Attachments (Terms of Use)

Description RHOS Integration 2013-12-12 13:34:10 UTC
Cloned from launchpad blueprint https://blueprints.launchpad.net/nova/+spec/xenapi-vcpu-pin-set.

Description:

We already have the setting in libvirt:
cfg.StrOpt('vcpu_pin_set',
                help='Which pcpus can be used by vcpus of instance '
                     'e.g: "4-12,^8,15"'),

We can support this in XenAPI, however we will only support values like:
"3,4,5,6,7,8"

The reason this is useful, is because you can often improve the performance of Xen on NUMA servers by pinning the Dom0 vCPU to particular physical CPUs. However, if you do this, you need to ensure no other VMs want to use those vCPUs, else they are likely to get starved of resources, and strange things may happen.

More details on XenServer's pinning API can be found here:
http://support.citrix.com/article/CTX117960

And details on dom0 pinning can be found here:
http://wiki.xen.org/wiki/XenCommonProblems#Can_I_dedicate_a_cpu_core_.28or_cores.29_only_for_dom0.3F

So to determine the best value for vcpu_pin_set, you need to list all the pCPU cores that you have not assigned to Dom0.

In XenAPI we have the ability to specify a "mask" that defines which physical cores the VM can be scheduled to. Using the vcpu_pin_set as the mask will then ensure the VMs vCPU only get scheduled on physical CPUs that are not reserved for Dom0.

Specification URL (additional information):

None

Comment 2 Stephen Gordon 2013-12-12 21:31:49 UTC
Xen is not formally supported in RHELOSP at this time.


Note You need to log in before you can comment on or make changes to this bug.