On Wed, Jun 26, 2013 at 03:05:11PM +0200, Peter Zijlstra wrote:
> On Thu, Jun 20, 2013 at 10:45:41PM +0200, Frederic Weisbecker wrote:
> > preempt_schedule() and preempt_schedule_context() open
> > code their preemptability checks.
> > 
> > Use the standard API instead for consolidation.
> > 
> > Signed-off-by: Frederic Weisbecker <[email protected]>
> > Cc: Ingo Molnar <[email protected]>
> > Cc: Li Zhong <[email protected]>
> > Cc: Paul E. McKenney <[email protected]>
> > Cc: Peter Zijlstra <[email protected]>
> > Cc: Steven Rostedt <[email protected]>
> > Cc: Thomas Gleixner <[email protected]>
> > Cc: Borislav Petkov <[email protected]>
> > Cc: Alex Shi <[email protected]>
> > Cc: Paul Turner <[email protected]>
> > Cc: Mike Galbraith <[email protected]>
> > Cc: Vincent Guittot <[email protected]>
> > ---
> >  kernel/context_tracking.c |    3 +--
> >  kernel/sched/core.c       |    4 +---
> >  2 files changed, 2 insertions(+), 5 deletions(-)
> > 
> > diff --git a/kernel/context_tracking.c b/kernel/context_tracking.c
> > index 6667700..08db730 100644
> > --- a/kernel/context_tracking.c
> > +++ b/kernel/context_tracking.c
> > @@ -88,10 +88,9 @@ void user_enter(void)
> >   */
> >  void __sched notrace preempt_schedule_context(void)
> >  {
> > -   struct thread_info *ti = current_thread_info();
> >     enum ctx_state prev_ctx;
> >  
> > -   if (likely(ti->preempt_count || irqs_disabled()))
> > +   if (likely(!preemptible()))
> >             return;
> >  
> 
> #ifdef CONFIG_PREEMPT_COUNT
> # define preemptible()  (preempt_count() == 0 && !irqs_disabled())
> #else
> # define preemptible()  0
> #endif
> 
> 
> Wouldn't that give a problem for !PREEMPT_COUNT?

preempt_schedule_context() depends on CONFIG_PREEMPT which depends on
CONFIG_PREEMPT_COUNT, so that should work. Or I missed something?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to