From: Jan Beulich Date: Mon, 14 Mar 2011 17:19:22 +0000 (+0000) Subject: _csched_cpu_pick(): don't return CPUs outside vCPU's affinity mask X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=58a83b75d17c4346f0f8f20f9815e00d6f6ed5f1;p=xen.git _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 --- diff --git a/xen/common/sched_credit.c b/xen/common/sched_credit.c index 0cbc7e1342..bfdd567e3e 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;