On Fri, May 10, 2013 at 05:12:26PM -0400, Steven Rostedt wrote: > +/* > + * This is a entry point to the scheduler() just before going > + * back to user space. This is called with irqs disabled > + * which prevents races with the CONTEXT_TRACKING updates. > + */ > +asmlinkage void __sched schedule_preempt_user(void) > +{ > + enum ctx_state prev_state; > + > + prev_state = exception_enter(); > + > + local_irq_enable(); > + __schedule(); > + local_irq_disable(); > + > + exception_exit(prev_state);
So since it's only ever called right before resuming to userspace and after the user_exit() call from the end of the syscall/exception/irq code, you can use user_enter()/user_exit() directly. I'm also wondering if this assumption that irqs are disabled by the time we do user preemption is x86-centric or not. May be we can wait for complains from those who'll port it... -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/