Avoid scheduling vCPUs that are blocked, there's no point in assigning them to a pCPU because they are not going to run anyway and might prevent a non-blocked vCPU from actually running.
Signed-off-by: Roger Pau Monné <roger....@citrix.com> --- Cc: George Dunlap <george.dun...@eu.citrix.com> Cc: Dario Faggioli <raist...@linux.it> --- xen/common/sched_null.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/xen/common/sched_null.c b/xen/common/sched_null.c index b4a24baf8e..78a3b12845 100644 --- a/xen/common/sched_null.c +++ b/xen/common/sched_null.c @@ -781,6 +781,10 @@ static struct task_slice null_schedule(const struct scheduler *ops, { list_for_each_entry( wvc, &prv->waitq, waitq_elem ) { + if ( test_bit(_VPF_down, &wvc->vcpu->pause_flags) ) + /* Skip vCPUs that are down. */ + continue; + if ( bs == BALANCE_SOFT_AFFINITY && !has_soft_affinity(wvc->vcpu, wvc->vcpu->cpu_hard_affinity) ) continue; -- 2.14.3 (Apple Git-98) _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel