[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH] sched/null: skip vCPUs on the waitqueue that are blocked



On Tue, Dec 19, 2017 at 07:25:51AM -0700, Jan Beulich wrote:
> >>> On 19.12.17 at 15:16, <roger.pau@xxxxxxxxxx> wrote:
> > --- 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 such a custom check is indeed necessary here (looks to rather be
> something generic scheduling code should be dealing with), why
> would you take into consideration only this one VPF bit?

I know that at least when a vCPU is brought up a call to vcpu_wake
happens and the vCPU is scheduled. The same happens for unpause and
some of the other events, but I'm not sure whether it applies to all
of them.

IMHO 'down' was the clearer one since there's no chance the vCPU is
going to run in the near future if it's not brought up. Other
pause_flags like 'blocked_in_xen' or 'migrating' seem more temporary.

Thanks, Roger.

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.