diff options
author | Dario Faggioli <dario.faggioli@citrix.com> | 2013-04-17 10:57:31 +0000 |
---|---|---|
committer | Ian Campbell <ian.campbell@citrix.com> | 2013-04-17 12:11:14 +0100 |
commit | cfcc144ff1ce59a9f93a44bbc89d1e20f5011c3d (patch) | |
tree | 2ff4399fd7c4a001353e2adc9c9c70736a645d1b /xen/common/schedule.c | |
parent | ebb064aa22715ae473f72468d093e7a05e3c3c58 (diff) | |
download | xen-cfcc144ff1ce59a9f93a44bbc89d1e20f5011c3d.tar.gz xen-cfcc144ff1ce59a9f93a44bbc89d1e20f5011c3d.tar.bz2 xen-cfcc144ff1ce59a9f93a44bbc89d1e20f5011c3d.zip |
xen: sched_credit: let the scheduler know about node-affinity
As vcpu-affinity tells where VCPUs must run, node-affinity tells
where they prefer to. While respecting vcpu-affinity remains mandatory,
node-affinity is not that strict, it only expresses a preference,
although honouring it will bring significant performance benefits
(especially as compared to not having any affinity at all).
This change modifies the VCPUs load balancing algorithm (for the
credit scheduler only), introducing a two steps logic. During the
first step, we use both the vcpu-affinity and the node-affinity
masks (by looking at their intersection). The aim is giving precedence
to the PCPUs where the domain prefers to run, as expressed by its
node-affinity (with the intersection with the vcpu-afinity being
necessary in order to avoid running a VCPU where it never should).
If that fails in finding a valid PCPU, the node-affinity is just
ignored and, in the second step, we fall back to using cpu-affinity
only.
Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
Acked-by: Juergen Gross <juergen.gross@ts.fujitsu.com>
Acked-by: George Dunlap <george.dunlap@eu.citrix.com>
Acked-by: Keir Fraser <keir@xen.org>
Diffstat (limited to 'xen/common/schedule.c')
0 files changed, 0 insertions, 0 deletions