Re: [rfc patch v4.4-rt2] sched: fix up preempt lazy forward port

From: Mike Galbraith
Date: Mon Jan 18 2016 - 21:30:26 EST


On Mon, 2016-01-18 at 21:18 +0100, Sebastian Andrzej Siewior wrote:

> > --- a/kernel/sched/core.c
> > +++ b/kernel/sched/core.c
> > @@ -3542,6 +3542,15 @@ asmlinkage __visible void __sched notrac
> > if (likely(!preemptible()))
> > return;
> >
> > +#ifdef CONFIG_PREEMPT_LAZY
> > + /*
> > + * Check for lazy preemption
> > + */
> > + if (current_thread_info()->preempt_lazy_count &&
> > + !test_thread_flag(TIF_NEED_RESCHED))
> > + return;
> > +#endif
> > +
>
> And this is a new piece. So you forbid that tasks leave the CPU if
> lazy_count > 0. Let me look closed why this is happening and if this is
> v4.1 â v4.4 or not.

We should probably just add the lazy bits to preemptible().

-Mike