[RFC PATCH 00/11] rcu: Userspace RCU extended quiescent state v2

From: Frederic Weisbecker
Date: Wed Jul 11 2012 - 14:26:47 EST


Hi,

There are significant changes this time. I reverted back to using
a TIF flag to hook on syscalls slow path and put the hooks on
high level exception handlers instead of low level ones.

It makes the code more portable between x86-32 and x86-64, it
makes the hooks clearer and easier to review and the overhead
is lowered in the off-case. This can be even better if we use
jump labels later.

Thanks.

git://github.com/fweisbec/linux-dynticks.git
rcu/user-2

Frederic Weisbecker (11):
rcu: Settle config for userspace extended quiescent state
rcu: Allow rcu_user_enter()/exit() to nest
rcu: Ignore userspace extended quiescent state by default
rcu: Switch task's syscall hooks on context switch
x86: Syscall hooks for userspace RCU extended QS
x86: Exception hooks for userspace RCU extended QS
rcu: Exit RCU extended QS on kernel preemption after irq/exception
rcu: Exit RCU extended QS on user preemption
x86: Use the new schedule_user API on userspace preemption
x86: Exit RCU extended QS on notify resume
rcu: Userspace RCU extended QS selftest

arch/Kconfig | 10 ++++++
arch/um/drivers/mconsole_kern.c | 2 +-
arch/x86/Kconfig | 1 +
arch/x86/include/asm/rcu.h | 20 +++++++++++
arch/x86/include/asm/thread_info.h | 10 ++++--
arch/x86/kernel/entry_64.S | 8 ++--
arch/x86/kernel/ptrace.c | 5 +++
arch/x86/kernel/signal.c | 4 ++
arch/x86/kernel/traps.c | 30 ++++++++++++----
arch/x86/mm/fault.c | 13 ++++++-
include/linux/rcupdate.h | 10 ++++++
include/linux/sched.h | 20 ++++++-----
init/Kconfig | 18 ++++++++++
kernel/rcutree.c | 64 +++++++++++++++++++++++++++++++-----
kernel/rcutree.h | 4 ++
kernel/sched/core.c | 10 +++++-
16 files changed, 192 insertions(+), 37 deletions(-)
create mode 100644 arch/x86/include/asm/rcu.h

--
1.7.5.4

--
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/