libxl: have NUMA placement deal with cpupools
authorDario Faggioli <dario.faggioli@citrix.com>
Thu, 26 Jul 2012 14:41:54 +0000 (15:41 +0100)
committerDario Faggioli <dario.faggioli@citrix.com>
Thu, 26 Jul 2012 14:41:54 +0000 (15:41 +0100)
commitf5e3add94b9455922f3374e61acd60ffddb6b5de
tree549afc56133d1112497e523f715f9750da188d7e
parente98fee8390936477d369b9832ff9bb06594510c7
libxl: have NUMA placement deal with cpupools

In such a way that only the cpus belonging to the cpupool of the
domain being placed are considered for the placement itself.

This happens by filtering out all the nodes in which the cpupool
has not any cpu from the placement candidates. After that ---as
cpu pooling not necessarily happens at NUMA nodes boundaries--- we
also make sure only the actual cpus that are part of the pool are
considered when counting how much processors a placement candidate
provides.

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Committed-by: Ian Campbell <ian.campbell@citrix.com>
tools/libxl/libxl_dom.c
tools/libxl/libxl_internal.h
tools/libxl/libxl_numa.c