On Tue, Dec 19, 2017 at 07:25:51AM -0700, Jan Beulich wrote:
> >>> On 19.12.17 at 15:16, <roger....@citrix.com> 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@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Reply via email to