Re: [PATCH tip/core/rcu 12/26] x86: Use the new schedule_user API onuserspace preemption

From: Josh Triplett
Date: Fri Aug 31 2012 - 19:53:50 EST


On Thu, Aug 30, 2012 at 02:05:29PM -0700, Paul E. McKenney wrote:
> From: Frederic Weisbecker <fweisbec@xxxxxxxxx>
>
> 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@xxxxxxxxx>
> Cc: Alessio Igor Bogani <abogani@xxxxxxxxxx>
> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
> Cc: Avi Kivity <avi@xxxxxxxxxx>
> Cc: Chris Metcalf <cmetcalf@xxxxxxxxxx>
> Cc: Christoph Lameter <cl@xxxxxxxxx>
> Cc: Geoff Levand <geoff@xxxxxxxxxxxxx>
> Cc: Gilad Ben Yossef <gilad@xxxxxxxxxxxxx>
> Cc: Hakan Akkan <hakanakkan@xxxxxxxxx>
> Cc: H. Peter Anvin <hpa@xxxxxxxxx>
> Cc: Ingo Molnar <mingo@xxxxxxxxxx>
> Cc: Josh Triplett <josh@xxxxxxxxxxxxxxxx>
> Cc: Kevin Hilman <khilman@xxxxxx>
> Cc: Max Krasnyansky <maxk@xxxxxxxxxxxx>
> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
> Cc: Stephen Hemminger <shemminger@xxxxxxxxxx>
> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
> Cc: Sven-Thorsten Dietrich <thebigcorporation@xxxxxxxxx>
> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx>

Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx>

> 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
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/