Message ID | 1346360743-3628-12-git-send-email-paulmck@linux.vnet.ibm.com |
---|---|
State | New |
Headers | show |
On Thu, Aug 30, 2012 at 02:05:29PM -0700, Paul E. McKenney wrote: > From: Frederic Weisbecker <fweisbec@gmail.com> > > This way we can exit the RCU extended quiescent state before > we schedule a new task from irq/exception exit. > > Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com> > Cc: Alessio Igor Bogani <abogani@kernel.org> > Cc: Andrew Morton <akpm@linux-foundation.org> > Cc: Avi Kivity <avi@redhat.com> > Cc: Chris Metcalf <cmetcalf@tilera.com> > Cc: Christoph Lameter <cl@linux.com> > Cc: Geoff Levand <geoff@infradead.org> > Cc: Gilad Ben Yossef <gilad@benyossef.com> > Cc: Hakan Akkan <hakanakkan@gmail.com> > Cc: H. Peter Anvin <hpa@zytor.com> > Cc: Ingo Molnar <mingo@kernel.org> > Cc: Josh Triplett <josh@joshtriplett.org> > Cc: Kevin Hilman <khilman@ti.com> > Cc: Max Krasnyansky <maxk@qualcomm.com> > Cc: Peter Zijlstra <peterz@infradead.org> > Cc: Stephen Hemminger <shemminger@vyatta.com> > Cc: Steven Rostedt <rostedt@goodmis.org> > Cc: Sven-Thorsten Dietrich <thebigcorporation@gmail.com> > Cc: Thomas Gleixner <tglx@linutronix.de> > Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com> Reviewed-by: Josh Triplett <josh@joshtriplett.org> > arch/x86/kernel/entry_64.S | 8 ++++---- > 1 files changed, 4 insertions(+), 4 deletions(-) > > diff --git a/arch/x86/kernel/entry_64.S b/arch/x86/kernel/entry_64.S > index 69babd8..6230487 100644 > --- a/arch/x86/kernel/entry_64.S > +++ b/arch/x86/kernel/entry_64.S > @@ -565,7 +565,7 @@ sysret_careful: > TRACE_IRQS_ON > ENABLE_INTERRUPTS(CLBR_NONE) > pushq_cfi %rdi > - call schedule > + call schedule_user > popq_cfi %rdi > jmp sysret_check > > @@ -678,7 +678,7 @@ int_careful: > TRACE_IRQS_ON > ENABLE_INTERRUPTS(CLBR_NONE) > pushq_cfi %rdi > - call schedule > + call schedule_user > popq_cfi %rdi > DISABLE_INTERRUPTS(CLBR_NONE) > TRACE_IRQS_OFF > @@ -974,7 +974,7 @@ retint_careful: > TRACE_IRQS_ON > ENABLE_INTERRUPTS(CLBR_NONE) > pushq_cfi %rdi > - call schedule > + call schedule_user > popq_cfi %rdi > GET_THREAD_INFO(%rcx) > DISABLE_INTERRUPTS(CLBR_NONE) > @@ -1449,7 +1449,7 @@ paranoid_userspace: > paranoid_schedule: > TRACE_IRQS_ON > ENABLE_INTERRUPTS(CLBR_ANY) > - call schedule > + call schedule_user > DISABLE_INTERRUPTS(CLBR_ANY) > TRACE_IRQS_OFF > jmp paranoid_userspace > -- > 1.7.8 >
diff --git a/arch/x86/kernel/entry_64.S b/arch/x86/kernel/entry_64.S index 69babd8..6230487 100644 --- a/arch/x86/kernel/entry_64.S +++ b/arch/x86/kernel/entry_64.S @@ -565,7 +565,7 @@ sysret_careful: TRACE_IRQS_ON ENABLE_INTERRUPTS(CLBR_NONE) pushq_cfi %rdi - call schedule + call schedule_user popq_cfi %rdi jmp sysret_check @@ -678,7 +678,7 @@ int_careful: TRACE_IRQS_ON ENABLE_INTERRUPTS(CLBR_NONE) pushq_cfi %rdi - call schedule + call schedule_user popq_cfi %rdi DISABLE_INTERRUPTS(CLBR_NONE) TRACE_IRQS_OFF @@ -974,7 +974,7 @@ retint_careful: TRACE_IRQS_ON ENABLE_INTERRUPTS(CLBR_NONE) pushq_cfi %rdi - call schedule + call schedule_user popq_cfi %rdi GET_THREAD_INFO(%rcx) DISABLE_INTERRUPTS(CLBR_NONE) @@ -1449,7 +1449,7 @@ paranoid_userspace: paranoid_schedule: TRACE_IRQS_ON ENABLE_INTERRUPTS(CLBR_ANY) - call schedule + call schedule_user DISABLE_INTERRUPTS(CLBR_ANY) TRACE_IRQS_OFF jmp paranoid_userspace