Mailing List Archive

[PATCH 1/3] _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>

--- a/xen/common/sched_credit.c
+++ b/xen/common/sched_credit.c
@@ -530,6 +531,7 @@ _csched_cpu_pick(const struct scheduler
|| ( !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;