On Sat, 2019-09-14 at 10:52 +0200, Juergen Gross wrote: > The credit scheduler calls vcpu_pause_nosync() and vcpu_unpause() > today. > It does. And, FWIW, I hate it with all my heart because of that (among other things! :-D). > Add sched_unit_pause_nosync() and sched_unit_unpause() to > perform the same operations on scheduler units instead. > > Signed-off-by: Juergen Gross > > diff --git a/xen/include/xen/sched-if.h b/xen/include/xen/sched-if.h > index d624b81e53..b5967d26af 100644 > --- a/xen/include/xen/sched-if.h > +++ b/xen/include/xen/sched-if.h > @@ -432,6 +432,16 @@ static inline int sched_adjust_cpupool(const > struct scheduler *s, > return s->adjust_global ? s->adjust_global(s, op) : 0; > } > > +static inline void sched_unit_pause_nosync(struct sched_unit *unit) > +{ > + vcpu_pause_nosync(unit->vcpu_list); > +} > + > +static inline void sched_unit_unpause(struct sched_unit *unit) > +{ > + vcpu_unpause(unit->vcpu_list); > +} > + So, isn't this another one of those places where we could have the for_each_unit_vcpu() loop already? Regards -- Dario Faggioli, Ph.D http://about.me/dario.faggioli Virtualization Software Engineer SUSE Labs, SUSE https://www.suse.com/ ------------------------------------------------------------------- <> (Raistlin Majere)