mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
sched: always ask the scheduler to re-place the vcpu when the affinity changes
It's probably a good idea to re-evaluate placement whenever the
affinity changes.
This additionally has the benefit of removing scheduler-specific
exceptions introduced in git c/s e6a6fd63.
The conditionals surrounding vcpu_migrate() are left pending a re-work
of the logic to avoid the common case calling vcpu_migrate() twice (once
here, and once in context_saved().
Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
This commit is contained in:
1 parent
e31d4781c0
commit
0f3b02d07e
1 file changed
+4
-3
@@ -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);
|
||||
|
||||
|
||||