aboutsummaryrefslogtreecommitdiffstats
path: root/init
diff options
context:
space:
mode:
authorFrederic Weisbecker <fweisbec@gmail.com>2012-07-11 14:26:30 -0400
committerFrederic Weisbecker <fweisbec@gmail.com>2012-09-26 09:44:04 -0400
commit2b1d5024e17be459aa6385763ca3faa8f01c52d9 (patch)
tree45d1ea5872eea69b7f0443086d98ddbcbc221b94 /init
parent9a0c6fef423528ba5b62aa31b29aabf689eb8f70 (diff)
rcu: Settle config for userspace extended quiescent state
Create a new config option under the RCU menu that put CPUs under RCU extended quiescent state (as in dynticks idle mode) when they run in userspace. This require some contribution from architectures to hook into kernel and userspace boundaries. 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>
Diffstat (limited to 'init')
-rw-r--r--init/Kconfig10
1 files changed, 10 insertions, 0 deletions
diff --git a/init/Kconfig b/init/Kconfig
index af6c7f8ba019..f6a1830165ce 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -441,6 +441,16 @@ config PREEMPT_RCU
441 This option enables preemptible-RCU code that is common between 441 This option enables preemptible-RCU code that is common between
442 the TREE_PREEMPT_RCU and TINY_PREEMPT_RCU implementations. 442 the TREE_PREEMPT_RCU and TINY_PREEMPT_RCU implementations.
443 443
444config RCU_USER_QS
445 bool "Consider userspace as in RCU extended quiescent state"
446 depends on HAVE_RCU_USER_QS && SMP
447 help
448 This option sets hooks on kernel / userspace boundaries and
449 puts RCU in extended quiescent state when the CPU runs in
450 userspace. It means that when a CPU runs in userspace, it is
451 excluded from the global RCU state machine and thus doesn't
452 to keep the timer tick on for RCU.
453
444config RCU_FANOUT 454config RCU_FANOUT
445 int "Tree-based hierarchical RCU fanout value" 455 int "Tree-based hierarchical RCU fanout value"
446 range 2 64 if 64BIT 456 range 2 64 if 64BIT