diff --git a/xen/common/sched_null.c b/xen/common/sched_null.c index 26c6f0f129..afd42e552f 100644 --- a/xen/common/sched_null.c +++ b/xen/common/sched_null.c @@ -455,6 +455,7 @@ static void null_vcpu_insert(const struct scheduler *ops, struct vcpu *v) if ( unlikely(!is_vcpu_online(v)) ) { + dprintk(XENLOG_G_INFO, "Not inserting %pv (not online!)\n", v); vcpu_schedule_unlock_irq(lock, v); return; } @@ -516,6 +517,7 @@ static void null_vcpu_remove(const struct scheduler *ops, struct vcpu *v) /* If offline, the vcpu shouldn't be assigned, nor in the waitqueue */ if ( unlikely(!is_vcpu_online(v)) ) { + dprintk(XENLOG_G_INFO, "Not removing %pv (wasn't online!)\n", v); ASSERT(per_cpu(npc, v->processor).vcpu != v); ASSERT(list_empty(&nvc->waitq_elem)); goto out; @@ -635,6 +637,8 @@ static void null_vcpu_sleep(const struct scheduler *ops, struct vcpu *v) } else if ( per_cpu(npc, cpu).vcpu == v ) tickled = vcpu_deassign(prv, v); + + dprintk(XENLOG_G_INFO, "%pv is, apparently, going offline (tickled=%d)\n", v, tickled); } /* If v is not assigned to a pCPU, or is not running, no need to bother */ @@ -697,6 +701,8 @@ static void null_vcpu_migrate(const struct scheduler *ops, struct vcpu *v, */ if ( unlikely(!is_vcpu_online(v)) ) { + dprintk(XENLOG_G_INFO, "%pv is, apparently, going offline\n", v); + spin_lock(&prv->waitq_lock); list_del_init(&nvc->waitq_elem); spin_unlock(&prv->waitq_lock);