Comment 3 for bug 1635674

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to nova (master)

Reviewed: https://review.openstack.org/391416
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=9f12b592d1d26a985699fefde2a7ce0164d0b5d3
Submitter: Jenkins
Branch: master

commit 9f12b592d1d26a985699fefde2a7ce0164d0b5d3
Author: Sergey Nikitin <email address hidden>
Date: Fri Dec 9 17:42:14 2016 +0400

    Mark sibling CPUs as 'used' for cpu_thread_policy = 'isolated'

    'isolated' CPU allocation thread policy is guarantee
    that no vCPUs from other guests wouldn't be able to be
    placed on the cores of booted VM (In this case core is
    a set of sibling vCPUs).

    But we still able to boot VMs with 'dedicated' CPU
    allocation policy on these cores. This problem is actual
    for hosts without HyperThreading. In this case sets of
    siblings vCPUs are empty for each core but we are still
    trying to work with them as with HyperThreading cores.
    This causes the problem when one "isolated" core
    is used by several VMs.

    To fix it we must use method unpin_cpus_with_siblings()
    only if NUMA cell has siblings (i.e. has HyperThreading).
    For cells without HyperThreading CPU isolation is
    guaranteed by 'dedicated' CPU allocation policy.

    Closes-Bug: #1635674

    Change-Id: I8f72187153c930cd941b7ee7e835a20ed0c0de03