Re: [PATCH 6/6] x86: Exit RCU extended QS on notify resume

From: Frederic Weisbecker
Date: Mon Jul 09 2012 - 13:43:26 EST


On Fri, Jul 06, 2012 at 09:33:38AM -0700, Paul E. McKenney wrote:
> On Fri, Jul 06, 2012 at 02:00:18PM +0200, Frederic Weisbecker wrote:
> > do_notify_resume() may be called on irq exit but it won't
> > be protected between rcu_irq_enter() and rcu_irq_exit()
> > and we don't call rcu_user_exit() on irq entry (unlike
> > syscalls/exceptions entry).
> >
> > Since it can use RCU read side critical section, we must call
> > rcu_user_exit() before doing anything there.
> >
> > This complete support for RCU userspace extended quiescent state
> > in x86.
> >
> > 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>
> > ---
> > arch/x86/Kconfig | 1 +
> > arch/x86/kernel/signal.c | 2 ++
> > 2 files changed, 3 insertions(+), 0 deletions(-)
> >
> > diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
> > index c70684f..38dfcc2 100644
> > --- a/arch/x86/Kconfig
> > +++ b/arch/x86/Kconfig
> > @@ -95,6 +95,7 @@ config X86
> > select KTIME_SCALAR if X86_32
> > select GENERIC_STRNCPY_FROM_USER
> > select GENERIC_STRNLEN_USER
> > + select HAVE_RCU_USER_QS if X86_64
>
> And I will bite yet again. Why only 64-bit kernels?
>
> Thanx, Paul

Because I don't want to spend time on implementing it the same way on 32
in case people disagree with the whole design :)
--
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/