Browse Source

rcu: Drive configuration directly from SMP and PREEMPT

This commit eliminates the possibility of running TREE_PREEMPT_RCU
when SMP=n and of running TINY_RCU when PREEMPT=y.  People who really
want these combinations can hand-edit init/Kconfig, but eliminating
them as choices for production systems reduces the amount of testing
required.  It will also allow cutting out a few #ifdefs.

Note that running TREE_RCU and TINY_RCU on single-CPU systems using
SMP-built kernels is still supported.

Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Paul E. McKenney 14 years ago
parent
commit
8008e129dc
1 changed files with 3 additions and 3 deletions
  1. 3 3
      init/Kconfig

+ 3 - 3
init/Kconfig

@@ -391,7 +391,7 @@ config TREE_RCU
 
 
 config TREE_PREEMPT_RCU
 config TREE_PREEMPT_RCU
 	bool "Preemptible tree-based hierarchical RCU"
 	bool "Preemptible tree-based hierarchical RCU"
-	depends on PREEMPT
+	depends on PREEMPT && SMP
 	help
 	help
 	  This option selects the RCU implementation that is
 	  This option selects the RCU implementation that is
 	  designed for very large SMP systems with hundreds or
 	  designed for very large SMP systems with hundreds or
@@ -401,7 +401,7 @@ config TREE_PREEMPT_RCU
 
 
 config TINY_RCU
 config TINY_RCU
 	bool "UP-only small-memory-footprint RCU"
 	bool "UP-only small-memory-footprint RCU"
-	depends on !SMP
+	depends on !PREEMPT && !SMP
 	help
 	help
 	  This option selects the RCU implementation that is
 	  This option selects the RCU implementation that is
 	  designed for UP systems from which real-time response
 	  designed for UP systems from which real-time response
@@ -410,7 +410,7 @@ config TINY_RCU
 
 
 config TINY_PREEMPT_RCU
 config TINY_PREEMPT_RCU
 	bool "Preemptible UP-only small-memory-footprint RCU"
 	bool "Preemptible UP-only small-memory-footprint RCU"
-	depends on !SMP && PREEMPT
+	depends on PREEMPT && !SMP
 	help
 	help
 	  This option selects the RCU implementation that is designed
 	  This option selects the RCU implementation that is designed
 	  for real-time UP systems.  This option greatly reduces the
 	  for real-time UP systems.  This option greatly reduces the