[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH RFC v1 42/74] sched/null: skip vCPUs on the waitqueue that are blocked
>>> On 04.01.18 at 14:05, <wei.liu2@xxxxxxxxxx> wrote: > From: Roger Pau Monne <roger.pau@xxxxxxxxxx> > > Avoid scheduling vCPUs that are blocked, there's no point in assigning > them to a pCPU because they are not going to run anyway. > > Since blocked vCPUs are not assigned to pCPUs after this change, force > a rescheduling when a vCPU is brought up if it's on the waitqueue. > Also when scheduling try to pick a vCPU from the runqueue if the pCPU > is running idle. I don't think the description adequately describes the changes, perhaps (in part) because ... > Changes since v1: > - Force a rescheduling when a vCPU is brought up. > - Try to pick a vCPU from the runqueue if running the idle vCPU. ... it wasn't updated after making these adjustments. > --- a/xen/common/sched_null.c > +++ b/xen/common/sched_null.c > @@ -574,6 +574,8 @@ static void null_vcpu_wake(const struct scheduler *ops, > struct vcpu *v) > { > /* Not exactly "on runq", but close enough for reusing the counter */ > SCHED_STAT_CRANK(vcpu_wake_onrunq); > + /* Force a rescheduling in case some CPU is idle can pick this vCPU > */ > + cpumask_raise_softirq(&cpu_online_map, SCHEDULE_SOFTIRQ); > return; > } I don't understand: Isn't the null scheduler not moving around vCPU-s at all? At least that's what the comment at the top of the file says, unless I'm mis-interpreting it. If so, how can "some CPU (...) pick this vCPU"? > @@ -781,6 +784,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; "Down" != "blocked" (as per the description). Overall it's not really being made clear what problem there is that this patch is intended to solve. Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |