aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--xen/common/schedule.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/xen/common/schedule.c b/xen/common/schedule.c
index 5f677c36f8..83fae4c9d2 100644
--- a/xen/common/schedule.c
+++ b/xen/common/schedule.c
@@ -614,9 +614,10 @@ int vcpu_set_affinity(struct vcpu *v, const cpumask_t *affinity)
vcpu_schedule_lock_irq(v);
cpumask_copy(v->cpu_affinity, affinity);
- if ( VCPU2OP(v)->sched_id == XEN_SCHEDULER_SEDF ||
- !cpumask_test_cpu(v->processor, v->cpu_affinity) )
- set_bit(_VPF_migrating, &v->pause_flags);
+
+ /* Always ask the scheduler to re-evaluate placement
+ * when changing the affinity */
+ set_bit(_VPF_migrating, &v->pause_flags);
vcpu_schedule_unlock_irq(v);