Fix CPU pinning for odd number of CPUs w hyperthreading
Previous logic was not handling the cases when the instance cell has an
odd number of vcpus that is larger than any sibling set on the host. The
logic would (accidentally) either reject to pin such an instance even
though there is ample free cores, or would (in case there were enough
free sibling sets on the host) spread the instance instead of pack it
onto siblings as the default policy suggests.
This patch fixes some incorrect assumptions in the code, while also
simplifying it. As an added bonus - we still attempt to expose
(via the Topology, and this time correctly) the largest possible number
of threads that we can expose to the instance.
Finally - we add some more comments to clear up the intent behind the
current packing logic with pointers how it could be tweaked to achieve
different results in the future.
Reviewed: https:/ /review. openstack. org/229575 /git.openstack. org/cgit/ openstack/ nova/commit/ ?id=d5bed8fad9d 51dd0d4ba9cf452 c6f5c8c543b264
Committed: https:/
Submitter: Jenkins
Branch: master
commit d5bed8fad9d51dd 0d4ba9cf452c6f5 c8c543b264
Author: Nikola Dipanov <email address hidden>
Date: Wed Sep 30 19:30:59 2015 +0100
Fix CPU pinning for odd number of CPUs w hyperthreading
Previous logic was not handling the cases when the instance cell has an
odd number of vcpus that is larger than any sibling set on the host. The
logic would (accidentally) either reject to pin such an instance even
though there is ample free cores, or would (in case there were enough
free sibling sets on the host) spread the instance instead of pack it
onto siblings as the default policy suggests.
This patch fixes some incorrect assumptions in the code, while also
simplifying it. As an added bonus - we still attempt to expose
(via the Topology, and this time correctly) the largest possible number
of threads that we can expose to the instance.
Finally - we add some more comments to clear up the intent behind the
current packing logic with pointers how it could be tweaked to achieve
different results in the future.
Change-Id: I2c0b3b250ffb1a 7483299df13b317 cdb24f8141d
Co-Authored-By: Stephen Finucane <email address hidden>
Closes-bug: 1501358
Closes-bug: 1467927