Messages in this thread | | | Date | Wed, 11 Nov 2020 15:34:58 +0100 | From | Peter Zijlstra <> | Subject | Re: [PATCH 4/5] context_tracking: Only define schedule_user() on !HAVE_CONTEXT_TRACKING_OFFSTACK archs |
| |
On Tue, Oct 27, 2020 at 04:08:26PM +0100, Frederic Weisbecker wrote: > schedule_user() was traditionally used by the entry code's tail to > preempt userspace after the call to user_enter(). Indeed the call to > user_enter() used to be performed upon syscall exit slow path which was > right before the last opportunity to schedule() while resuming to > userspace. The context tracking state had to be saved on the task stack > and set back to CONTEXT_KERNEL temporarily in order to safely switch to > another task. > > Only a few archs use it now and those implementing > HAVE_CONTEXT_TRACKING_OFFSTACK definetly can't rely on it.
powerpc64 and sparc64 only, right?
> Signed-off-by: Frederic Weisbecker <frederic@kernel.org> > Cc: Marcelo Tosatti <mtosatti@redhat.com> > Cc: Paul E. McKenney <paulmck@kernel.org> > Cc: Peter Zijlstra <peterz@infradead.org> > Cc: Phil Auld <pauld@redhat.com> > Cc: Thomas Gleixner <tglx@linutronix.de> > --- > kernel/sched/core.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/kernel/sched/core.c b/kernel/sched/core.c > index c23d7cb5aee3..44426e5acde2 100644 > --- a/kernel/sched/core.c > +++ b/kernel/sched/core.c > @@ -4631,7 +4631,7 @@ void __sched schedule_idle(void) > } while (need_resched()); > } > > -#ifdef CONFIG_CONTEXT_TRACKING > +#if defined(CONFIG_CONTEXT_TRACKING) && !defined(CONFIG_HAVE_CONTEXT_TRACKING_OFFSTACK) > asmlinkage __visible void __sched schedule_user(void) > { > /* > -- > 2.25.1 >
| |