|
|
| |
|
| |
rcu: Userspace RCU extended quiescent state v2
| From: |
| Frederic Weisbecker <fweisbec@gmail.com> |
| To: |
| "Paul E. McKenney" <paulmck@linux.vnet.ibm.com> |
| Subject: |
| [RFC PATCH 00/11] rcu: Userspace RCU extended quiescent state v2 |
| Date: |
| Wed, 11 Jul 2012 20:26:29 +0200 |
| Message-ID: |
| <1342031200-22731-1-git-send-email-fweisbec@gmail.com> |
| Cc: |
| LKML <linux-kernel@vger.kernel.org>,
Frederic Weisbecker <fweisbec@gmail.com>,
Alessio Igor Bogani <abogani@kernel.org>,
Andrew Morton <akpm@linux-foundation.org>,
Avi Kivity <avi@redhat.com>,
Chris Metcalf <cmetcalf@tilera.com>,
Christoph Lameter <cl@linux.com>,
Geoff Levand <geoff@infradead.org>,
Gilad Ben Yossef <gilad@benyossef.com>,
Hakan Akkan <hakanakkan@gmail.com>,
"H. Peter Anvin" <hpa@zytor.com>, Ingo Molnar <mingo@kernel.org>,
Josh Triplett <josh@joshtriplett.org>,
Kevin Hilman <khilman@ti.com>,
Max Krasnyansky <maxk@qualcomm.com>,
Peter Zijlstra <peterz@infradead.org>,
Stephen Hemminger <shemminger@vyatta.com>,
Steven Rostedt <rostedt@goodmis.org>,
Sven-Thorsten Dietrich <thebigcorporation@gmail.com>,
Thomas Gleixner <tglx@linutronix.de> |
| Archive-link: |
| Article, Thread
|
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
|
|
|