diff options
author | Jan Beulich <jbeulich@novell.com> | 2011-03-14 17:21:13 +0000 |
---|---|---|
committer | Jan Beulich <jbeulich@novell.com> | 2011-03-14 17:21:13 +0000 |
commit | 2b254451a7cec9074bba9bffee27d24289d2fea2 (patch) | |
tree | da505a18048014371b7127ff9772c1f0803a97b0 | |
parent | 3eaffa9fab122ec9e4d2d9cc9645ca67db75dee8 (diff) | |
download | xen-2b254451a7cec9074bba9bffee27d24289d2fea2.tar.gz xen-2b254451a7cec9074bba9bffee27d24289d2fea2.tar.bz2 xen-2b254451a7cec9074bba9bffee27d24289d2fea2.zip |
_csched_cpu_pick(): don't return CPUs outside vCPU's affinity mask
This fixes a fairly blatant bug I introduced in c/s 20377:cff23354d026
- I wonder how this went unnoticed for so long.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
xen-unstable changeset: 23039:c40da47621d8
xen-unstable date: Mon Mar 14 17:19:22 2011 +0000
-rw-r--r-- | xen/common/sched_credit.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/xen/common/sched_credit.c b/xen/common/sched_credit.c index d4852fd707..e50ddc7b6d 100644 --- a/xen/common/sched_credit.c +++ b/xen/common/sched_credit.c @@ -530,6 +530,7 @@ _csched_cpu_pick(const struct scheduler *ops, struct vcpu *vc, bool_t commit) || ( !sched_smt_power_savings && (weight_cpu * migrate_factor < weight_nxt) ) ) { + cpus_and(nxt_idlers, cpus, nxt_idlers); cpu = cycle_cpu(CSCHED_PCPU(nxt)->idle_bias, nxt_idlers); if ( commit ) CSCHED_PCPU(nxt)->idle_bias = cpu; |