public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH -tip] Change default from CLASSIC_RCU to TREE_RCU (testing only)
@ 2008-12-23  0:12 paulmck
  2008-12-23  0:12 ` [PATCH -tip] Set the default RCU to be rcutree paulmck
                   ` (11 more replies)
  0 siblings, 12 replies; 27+ messages in thread
From: paulmck @ 2008-12-23  0:12 UTC (permalink / raw)
  To: linux-kernel
  Cc: mingo, tglx, akpm, ralf, kernel, hskinnemoen, cooloney, tony.luck,
	geert, zippel, jwboyer, mporter, grant.likely, paulus, benh,
	dhowells, yasutake.koichi, lethal, hpa


This patchset changes the default RCU implementation from CONFIG_CLASSIC_RCU
to CONFIG_TREE_RCU.  This affects kernel/Kconfig.preempt as well as a large
number of the arch-specific defconfig files.

^ permalink raw reply	[flat|nested] 27+ messages in thread

* [PATCH -tip] Set the default RCU to be rcutree
  2008-12-23  0:12 [PATCH -tip] Change default from CLASSIC_RCU to TREE_RCU (testing only) paulmck
@ 2008-12-23  0:12 ` paulmck
  2008-12-23  0:12 ` [PATCH -tip] Switch arm defconfig files from CONFIG_CLASSIC_RCU to CONFIG_TREE_RCU paulmck
                   ` (10 subsequent siblings)
  11 siblings, 0 replies; 27+ messages in thread
From: paulmck @ 2008-12-23  0:12 UTC (permalink / raw)
  To: linux-kernel
  Cc: mingo, tglx, akpm, ralf, kernel, hskinnemoen, cooloney, tony.luck,
	geert, zippel, jwboyer, mporter, grant.likely, paulus, benh,
	dhowells, yasutake.koichi, lethal, hpa, Paul E. McKenney

From: Paul E. McKenney <paulmck@linux.vnet.ibm.com>

Only for testing in -tip and -next, not yet for inclusion into mainline.

Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
---
 kernel/Kconfig.preempt |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/kernel/Kconfig.preempt b/kernel/Kconfig.preempt
index 463f297..6f8f329 100644
--- a/kernel/Kconfig.preempt
+++ b/kernel/Kconfig.preempt
@@ -54,7 +54,7 @@ endchoice
 
 choice
 	prompt "RCU Implementation"
-	default CLASSIC_RCU
+	default TREE_RCU
 
 config CLASSIC_RCU
 	bool "Classic RCU"
-- 
1.5.2.5


^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [PATCH -tip] Switch arm defconfig files from CONFIG_CLASSIC_RCU to CONFIG_TREE_RCU.
  2008-12-23  0:12 [PATCH -tip] Change default from CLASSIC_RCU to TREE_RCU (testing only) paulmck
  2008-12-23  0:12 ` [PATCH -tip] Set the default RCU to be rcutree paulmck
@ 2008-12-23  0:12 ` paulmck
  2008-12-23 14:25   ` Ingo Molnar
  2008-12-23  0:12 ` [PATCH -tip] Switch avr32 defconfigs " paulmck
                   ` (9 subsequent siblings)
  11 siblings, 1 reply; 27+ messages in thread
From: paulmck @ 2008-12-23  0:12 UTC (permalink / raw)
  To: linux-kernel
  Cc: mingo, tglx, akpm, ralf, kernel, hskinnemoen, cooloney, tony.luck,
	geert, zippel, jwboyer, mporter, grant.likely, paulus, benh,
	dhowells, yasutake.koichi, lethal, hpa, Paul E. McKenney

From: Paul E. McKenney <paulmck@linux.vnet.ibm.com>

Only for testing in -tip and -next, not yet for inclusion into mainline.

Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
---
 arch/arm/configs/afeb9260_defconfig     |    2 +-
 arch/arm/configs/am200epdkit_defconfig  |    2 +-
 arch/arm/configs/cm_x300_defconfig      |    2 +-
 arch/arm/configs/corgi_defconfig        |    2 +-
 arch/arm/configs/csb637_defconfig       |    2 +-
 arch/arm/configs/eseries_pxa_defconfig  |    2 +-
 arch/arm/configs/ezx_defconfig          |    2 +-
 arch/arm/configs/imx27ads_defconfig     |    2 +-
 arch/arm/configs/jornada720_defconfig   |    2 +-
 arch/arm/configs/kirkwood_defconfig     |    2 +-
 arch/arm/configs/loki_defconfig         |    2 +-
 arch/arm/configs/magician_defconfig     |    2 +-
 arch/arm/configs/mv78xx0_defconfig      |    2 +-
 arch/arm/configs/mx31ads_defconfig      |    2 +-
 arch/arm/configs/mx31litekit_defconfig  |    2 +-
 arch/arm/configs/omap3_beagle_defconfig |    2 +-
 arch/arm/configs/omap_h2_1610_defconfig |    2 +-
 arch/arm/configs/omap_ldp_defconfig     |    2 +-
 arch/arm/configs/orion5x_defconfig      |    2 +-
 arch/arm/configs/overo_defconfig        |    2 +-
 arch/arm/configs/palmz72_defconfig      |    2 +-
 arch/arm/configs/pcm037_defconfig       |    2 +-
 arch/arm/configs/pcm038_defconfig       |    2 +-
 arch/arm/configs/s3c2410_defconfig      |    2 +-
 arch/arm/configs/spitz_defconfig        |    2 +-
 arch/arm/configs/tct_hammer_defconfig   |    2 +-
 arch/arm/configs/viper_defconfig        |    2 +-
 arch/arm/configs/xm_x2xx_defconfig      |    2 +-
 28 files changed, 28 insertions(+), 28 deletions(-)

diff --git a/arch/arm/configs/afeb9260_defconfig b/arch/arm/configs/afeb9260_defconfig
index ce90958..d33451c 100644
--- a/arch/arm/configs/afeb9260_defconfig
+++ b/arch/arm/configs/afeb9260_defconfig
@@ -128,7 +128,7 @@ CONFIG_DEFAULT_AS=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="anticipatory"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 
 #
 # System Type
diff --git a/arch/arm/configs/am200epdkit_defconfig b/arch/arm/configs/am200epdkit_defconfig
index 5e68420..d6355df 100644
--- a/arch/arm/configs/am200epdkit_defconfig
+++ b/arch/arm/configs/am200epdkit_defconfig
@@ -116,7 +116,7 @@ CONFIG_IOSCHED_NOOP=y
 # CONFIG_DEFAULT_CFQ is not set
 CONFIG_DEFAULT_NOOP=y
 CONFIG_DEFAULT_IOSCHED="noop"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 
 #
 # System Type
diff --git a/arch/arm/configs/cm_x300_defconfig b/arch/arm/configs/cm_x300_defconfig
index 46f1c9d..c7787bb 100644
--- a/arch/arm/configs/cm_x300_defconfig
+++ b/arch/arm/configs/cm_x300_defconfig
@@ -133,7 +133,7 @@ CONFIG_IOSCHED_CFQ=y
 CONFIG_DEFAULT_CFQ=y
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="cfq"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 
 #
 # System Type
diff --git a/arch/arm/configs/corgi_defconfig b/arch/arm/configs/corgi_defconfig
index 9876543..802975b 100644
--- a/arch/arm/configs/corgi_defconfig
+++ b/arch/arm/configs/corgi_defconfig
@@ -119,7 +119,7 @@ CONFIG_DEFAULT_AS=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="anticipatory"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 
 #
 # System Type
diff --git a/arch/arm/configs/csb637_defconfig b/arch/arm/configs/csb637_defconfig
index 9970214..8383c3b 100644
--- a/arch/arm/configs/csb637_defconfig
+++ b/arch/arm/configs/csb637_defconfig
@@ -120,7 +120,7 @@ CONFIG_DEFAULT_AS=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="anticipatory"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 
 #
 # System Type
diff --git a/arch/arm/configs/eseries_pxa_defconfig b/arch/arm/configs/eseries_pxa_defconfig
index 2307587..3030235 100644
--- a/arch/arm/configs/eseries_pxa_defconfig
+++ b/arch/arm/configs/eseries_pxa_defconfig
@@ -119,7 +119,7 @@ CONFIG_DEFAULT_AS=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="anticipatory"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 
 #
 # System Type
diff --git a/arch/arm/configs/ezx_defconfig b/arch/arm/configs/ezx_defconfig
index 2a84d55..e246493 100644
--- a/arch/arm/configs/ezx_defconfig
+++ b/arch/arm/configs/ezx_defconfig
@@ -120,7 +120,7 @@ CONFIG_DEFAULT_DEADLINE=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="deadline"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 
 #
 # System Type
diff --git a/arch/arm/configs/imx27ads_defconfig b/arch/arm/configs/imx27ads_defconfig
index bcd95b8..980fcdd 100644
--- a/arch/arm/configs/imx27ads_defconfig
+++ b/arch/arm/configs/imx27ads_defconfig
@@ -114,7 +114,7 @@ CONFIG_IOSCHED_NOOP=y
 # CONFIG_DEFAULT_CFQ is not set
 CONFIG_DEFAULT_NOOP=y
 CONFIG_DEFAULT_IOSCHED="noop"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 
 #
 # System Type
diff --git a/arch/arm/configs/jornada720_defconfig b/arch/arm/configs/jornada720_defconfig
index 81fadaf..1f5bf9b 100644
--- a/arch/arm/configs/jornada720_defconfig
+++ b/arch/arm/configs/jornada720_defconfig
@@ -126,7 +126,7 @@ CONFIG_IOSCHED_CFQ=y
 CONFIG_DEFAULT_CFQ=y
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="cfq"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 
 #
 # System Type
diff --git a/arch/arm/configs/kirkwood_defconfig b/arch/arm/configs/kirkwood_defconfig
index e3357ba..df8941c 100644
--- a/arch/arm/configs/kirkwood_defconfig
+++ b/arch/arm/configs/kirkwood_defconfig
@@ -116,7 +116,7 @@ CONFIG_IOSCHED_CFQ=y
 CONFIG_DEFAULT_CFQ=y
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="cfq"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 
 #
 # System Type
diff --git a/arch/arm/configs/loki_defconfig b/arch/arm/configs/loki_defconfig
index 17da7c3..ee097e3 100644
--- a/arch/arm/configs/loki_defconfig
+++ b/arch/arm/configs/loki_defconfig
@@ -113,7 +113,7 @@ CONFIG_IOSCHED_CFQ=y
 CONFIG_DEFAULT_CFQ=y
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="cfq"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 
 #
 # System Type
diff --git a/arch/arm/configs/magician_defconfig b/arch/arm/configs/magician_defconfig
index 4d11678..7362526 100644
--- a/arch/arm/configs/magician_defconfig
+++ b/arch/arm/configs/magician_defconfig
@@ -103,7 +103,7 @@ CONFIG_IOSCHED_NOOP=y
 # CONFIG_DEFAULT_CFQ is not set
 CONFIG_DEFAULT_NOOP=y
 CONFIG_DEFAULT_IOSCHED="noop"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 # CONFIG_PREEMPT_RCU is not set
 
 #
diff --git a/arch/arm/configs/mv78xx0_defconfig b/arch/arm/configs/mv78xx0_defconfig
index d38ebf8..32a5f04 100644
--- a/arch/arm/configs/mv78xx0_defconfig
+++ b/arch/arm/configs/mv78xx0_defconfig
@@ -117,7 +117,7 @@ CONFIG_IOSCHED_CFQ=y
 CONFIG_DEFAULT_CFQ=y
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="cfq"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 
 #
 # System Type
diff --git a/arch/arm/configs/mx31ads_defconfig b/arch/arm/configs/mx31ads_defconfig
index e052717..66d48d8 100644
--- a/arch/arm/configs/mx31ads_defconfig
+++ b/arch/arm/configs/mx31ads_defconfig
@@ -119,7 +119,7 @@ CONFIG_IOSCHED_CFQ=y
 CONFIG_DEFAULT_CFQ=y
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="cfq"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 
 #
 # System Type
diff --git a/arch/arm/configs/mx31litekit_defconfig b/arch/arm/configs/mx31litekit_defconfig
index 4f41c41..2f7b5c7 100644
--- a/arch/arm/configs/mx31litekit_defconfig
+++ b/arch/arm/configs/mx31litekit_defconfig
@@ -116,7 +116,7 @@ CONFIG_IOSCHED_CFQ=y
 CONFIG_DEFAULT_CFQ=y
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="cfq"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 
 #
 # System Type
diff --git a/arch/arm/configs/omap3_beagle_defconfig b/arch/arm/configs/omap3_beagle_defconfig
index e042d27..0ad909b 100644
--- a/arch/arm/configs/omap3_beagle_defconfig
+++ b/arch/arm/configs/omap3_beagle_defconfig
@@ -127,7 +127,7 @@ CONFIG_DEFAULT_AS=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="anticipatory"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 
 #
 # System Type
diff --git a/arch/arm/configs/omap_h2_1610_defconfig b/arch/arm/configs/omap_h2_1610_defconfig
index c035072..3f0e812 100644
--- a/arch/arm/configs/omap_h2_1610_defconfig
+++ b/arch/arm/configs/omap_h2_1610_defconfig
@@ -117,7 +117,7 @@ CONFIG_DEFAULT_AS=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="anticipatory"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 # CONFIG_PREEMPT_RCU is not set
 
 #
diff --git a/arch/arm/configs/omap_ldp_defconfig b/arch/arm/configs/omap_ldp_defconfig
index 948a212..dd7c822 100644
--- a/arch/arm/configs/omap_ldp_defconfig
+++ b/arch/arm/configs/omap_ldp_defconfig
@@ -124,7 +124,7 @@ CONFIG_DEFAULT_AS=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="anticipatory"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 
 #
 # System Type
diff --git a/arch/arm/configs/orion5x_defconfig b/arch/arm/configs/orion5x_defconfig
index b2456ca..ff95936 100644
--- a/arch/arm/configs/orion5x_defconfig
+++ b/arch/arm/configs/orion5x_defconfig
@@ -124,7 +124,7 @@ CONFIG_IOSCHED_CFQ=y
 CONFIG_DEFAULT_CFQ=y
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="cfq"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 
 #
 # System Type
diff --git a/arch/arm/configs/overo_defconfig b/arch/arm/configs/overo_defconfig
index 4920096..ad41df3 100644
--- a/arch/arm/configs/overo_defconfig
+++ b/arch/arm/configs/overo_defconfig
@@ -131,7 +131,7 @@ CONFIG_IOSCHED_CFQ=y
 CONFIG_DEFAULT_CFQ=y
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="cfq"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 
 #
 # System Type
diff --git a/arch/arm/configs/palmz72_defconfig b/arch/arm/configs/palmz72_defconfig
index 3245f8f..374dfd2 100644
--- a/arch/arm/configs/palmz72_defconfig
+++ b/arch/arm/configs/palmz72_defconfig
@@ -128,7 +128,7 @@ CONFIG_DEFAULT_AS=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="anticipatory"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 
 #
 # System Type
diff --git a/arch/arm/configs/pcm037_defconfig b/arch/arm/configs/pcm037_defconfig
index 6274745..5217846 100644
--- a/arch/arm/configs/pcm037_defconfig
+++ b/arch/arm/configs/pcm037_defconfig
@@ -119,7 +119,7 @@ CONFIG_IOSCHED_CFQ=y
 CONFIG_DEFAULT_CFQ=y
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="cfq"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 
 #
 # System Type
diff --git a/arch/arm/configs/pcm038_defconfig b/arch/arm/configs/pcm038_defconfig
index 6b798c2..691774d 100644
--- a/arch/arm/configs/pcm038_defconfig
+++ b/arch/arm/configs/pcm038_defconfig
@@ -119,7 +119,7 @@ CONFIG_IOSCHED_NOOP=y
 # CONFIG_DEFAULT_CFQ is not set
 CONFIG_DEFAULT_NOOP=y
 CONFIG_DEFAULT_IOSCHED="noop"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 
 #
 # System Type
diff --git a/arch/arm/configs/s3c2410_defconfig b/arch/arm/configs/s3c2410_defconfig
index 35faaea..ff42b35 100644
--- a/arch/arm/configs/s3c2410_defconfig
+++ b/arch/arm/configs/s3c2410_defconfig
@@ -119,7 +119,7 @@ CONFIG_DEFAULT_AS=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="anticipatory"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 
 #
 # System Type
diff --git a/arch/arm/configs/spitz_defconfig b/arch/arm/configs/spitz_defconfig
index 4df5b4d..2407ea6 100644
--- a/arch/arm/configs/spitz_defconfig
+++ b/arch/arm/configs/spitz_defconfig
@@ -119,7 +119,7 @@ CONFIG_DEFAULT_AS=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="anticipatory"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 
 #
 # System Type
diff --git a/arch/arm/configs/tct_hammer_defconfig b/arch/arm/configs/tct_hammer_defconfig
index 07dfb98..d961e76 100644
--- a/arch/arm/configs/tct_hammer_defconfig
+++ b/arch/arm/configs/tct_hammer_defconfig
@@ -111,7 +111,7 @@ CONFIG_DEFAULT_AS=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="anticipatory"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 
 #
 # System Type
diff --git a/arch/arm/configs/viper_defconfig b/arch/arm/configs/viper_defconfig
index d01fecb..ac8a7e2 100644
--- a/arch/arm/configs/viper_defconfig
+++ b/arch/arm/configs/viper_defconfig
@@ -123,7 +123,7 @@ CONFIG_DEFAULT_DEADLINE=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="deadline"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 
 #
 # System Type
diff --git a/arch/arm/configs/xm_x2xx_defconfig b/arch/arm/configs/xm_x2xx_defconfig
index f891364..f630bd9 100644
--- a/arch/arm/configs/xm_x2xx_defconfig
+++ b/arch/arm/configs/xm_x2xx_defconfig
@@ -128,7 +128,7 @@ CONFIG_IOSCHED_CFQ=y
 CONFIG_DEFAULT_CFQ=y
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="cfq"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 
 #
 # System Type
-- 
1.5.2.5


^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [PATCH -tip] Switch avr32 defconfigs from CONFIG_CLASSIC_RCU to CONFIG_TREE_RCU.
  2008-12-23  0:12 [PATCH -tip] Change default from CLASSIC_RCU to TREE_RCU (testing only) paulmck
  2008-12-23  0:12 ` [PATCH -tip] Set the default RCU to be rcutree paulmck
  2008-12-23  0:12 ` [PATCH -tip] Switch arm defconfig files from CONFIG_CLASSIC_RCU to CONFIG_TREE_RCU paulmck
@ 2008-12-23  0:12 ` paulmck
  2008-12-23  0:12 ` [PATCH -tip] Switch blackfin defconfig " paulmck
                   ` (8 subsequent siblings)
  11 siblings, 0 replies; 27+ messages in thread
From: paulmck @ 2008-12-23  0:12 UTC (permalink / raw)
  To: linux-kernel
  Cc: mingo, tglx, akpm, ralf, kernel, hskinnemoen, cooloney, tony.luck,
	geert, zippel, jwboyer, mporter, grant.likely, paulus, benh,
	dhowells, yasutake.koichi, lethal, hpa, Paul E. McKenney

From: Paul E. McKenney <paulmck@linux.vnet.ibm.com>

Only for testing in -tip and -next, not yet for inclusion into mainline.

Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
---
 arch/avr32/configs/atngw100_defconfig           |    2 +-
 arch/avr32/configs/atngw100_evklcd100_defconfig |    2 +-
 arch/avr32/configs/atngw100_evklcd101_defconfig |    2 +-
 arch/avr32/configs/atstk1002_defconfig          |    2 +-
 arch/avr32/configs/atstk1003_defconfig          |    2 +-
 arch/avr32/configs/atstk1004_defconfig          |    2 +-
 arch/avr32/configs/atstk1006_defconfig          |    2 +-
 arch/avr32/configs/favr-32_defconfig            |    2 +-
 arch/avr32/configs/mimc200_defconfig            |    2 +-
 9 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/arch/avr32/configs/atngw100_defconfig b/arch/avr32/configs/atngw100_defconfig
index 5415209..eb3a0ab 100644
--- a/arch/avr32/configs/atngw100_defconfig
+++ b/arch/avr32/configs/atngw100_defconfig
@@ -118,7 +118,7 @@ CONFIG_IOSCHED_CFQ=y
 CONFIG_DEFAULT_CFQ=y
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="cfq"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 
 #
 # System Type and features
diff --git a/arch/avr32/configs/atngw100_evklcd100_defconfig b/arch/avr32/configs/atngw100_evklcd100_defconfig
index b0572d2..b371cd9 100644
--- a/arch/avr32/configs/atngw100_evklcd100_defconfig
+++ b/arch/avr32/configs/atngw100_evklcd100_defconfig
@@ -109,7 +109,7 @@ CONFIG_IOSCHED_CFQ=y
 CONFIG_DEFAULT_CFQ=y
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="cfq"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 
 #
 # System Type and features
diff --git a/arch/avr32/configs/atngw100_evklcd101_defconfig b/arch/avr32/configs/atngw100_evklcd101_defconfig
index c5b898d..13db38a 100644
--- a/arch/avr32/configs/atngw100_evklcd101_defconfig
+++ b/arch/avr32/configs/atngw100_evklcd101_defconfig
@@ -109,7 +109,7 @@ CONFIG_IOSCHED_CFQ=y
 CONFIG_DEFAULT_CFQ=y
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="cfq"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 
 #
 # System Type and features
diff --git a/arch/avr32/configs/atstk1002_defconfig b/arch/avr32/configs/atstk1002_defconfig
index 69fce6b..5a980cd 100644
--- a/arch/avr32/configs/atstk1002_defconfig
+++ b/arch/avr32/configs/atstk1002_defconfig
@@ -117,7 +117,7 @@ CONFIG_IOSCHED_CFQ=y
 CONFIG_DEFAULT_CFQ=y
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="cfq"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 
 #
 # System Type and features
diff --git a/arch/avr32/configs/atstk1003_defconfig b/arch/avr32/configs/atstk1003_defconfig
index 5477ed3..de27359 100644
--- a/arch/avr32/configs/atstk1003_defconfig
+++ b/arch/avr32/configs/atstk1003_defconfig
@@ -119,7 +119,7 @@ CONFIG_IOSCHED_CFQ=y
 CONFIG_DEFAULT_CFQ=y
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="cfq"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 
 #
 # System Type and features
diff --git a/arch/avr32/configs/atstk1004_defconfig b/arch/avr32/configs/atstk1004_defconfig
index 69e6c0d..cffc706 100644
--- a/arch/avr32/configs/atstk1004_defconfig
+++ b/arch/avr32/configs/atstk1004_defconfig
@@ -83,7 +83,7 @@ CONFIG_HAVE_CLK=y
 CONFIG_BASE_SMALL=1
 # CONFIG_MODULES is not set
 # CONFIG_BLOCK is not set
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 
 #
 # System Type and features
diff --git a/arch/avr32/configs/atstk1006_defconfig b/arch/avr32/configs/atstk1006_defconfig
index 8b6e54c..49aa363 100644
--- a/arch/avr32/configs/atstk1006_defconfig
+++ b/arch/avr32/configs/atstk1006_defconfig
@@ -117,7 +117,7 @@ CONFIG_IOSCHED_CFQ=y
 CONFIG_DEFAULT_CFQ=y
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="cfq"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 
 #
 # System Type and features
diff --git a/arch/avr32/configs/favr-32_defconfig b/arch/avr32/configs/favr-32_defconfig
index e2bd998..34631bb 100644
--- a/arch/avr32/configs/favr-32_defconfig
+++ b/arch/avr32/configs/favr-32_defconfig
@@ -117,7 +117,7 @@ CONFIG_IOSCHED_CFQ=y
 CONFIG_DEFAULT_CFQ=y
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="cfq"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 
 #
 # System Type and features
diff --git a/arch/avr32/configs/mimc200_defconfig b/arch/avr32/configs/mimc200_defconfig
index 981e4f8..266a896 100644
--- a/arch/avr32/configs/mimc200_defconfig
+++ b/arch/avr32/configs/mimc200_defconfig
@@ -111,7 +111,7 @@ CONFIG_IOSCHED_CFQ=y
 CONFIG_DEFAULT_CFQ=y
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="cfq"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 
 #
 # System Type and features
-- 
1.5.2.5


^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [PATCH -tip] Switch blackfin defconfig from CONFIG_CLASSIC_RCU to CONFIG_TREE_RCU.
  2008-12-23  0:12 [PATCH -tip] Change default from CLASSIC_RCU to TREE_RCU (testing only) paulmck
                   ` (2 preceding siblings ...)
  2008-12-23  0:12 ` [PATCH -tip] Switch avr32 defconfigs " paulmck
@ 2008-12-23  0:12 ` paulmck
  2008-12-23  0:12 ` [PATCH -tip] Switch ia64 " paulmck
                   ` (7 subsequent siblings)
  11 siblings, 0 replies; 27+ messages in thread
From: paulmck @ 2008-12-23  0:12 UTC (permalink / raw)
  To: linux-kernel
  Cc: mingo, tglx, akpm, ralf, kernel, hskinnemoen, cooloney, tony.luck,
	geert, zippel, jwboyer, mporter, grant.likely, paulus, benh,
	dhowells, yasutake.koichi, lethal, hpa, Paul E. McKenney

From: Paul E. McKenney <paulmck@linux.vnet.ibm.com>

Only for testing in -tip and -next, not yet for inclusion into mainline.

Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
---
 arch/blackfin/configs/BF526-EZBRD_defconfig |    2 +-
 arch/blackfin/configs/BlackStamp_defconfig  |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/blackfin/configs/BF526-EZBRD_defconfig b/arch/blackfin/configs/BF526-EZBRD_defconfig
index 4443a47..1366126 100644
--- a/arch/blackfin/configs/BF526-EZBRD_defconfig
+++ b/arch/blackfin/configs/BF526-EZBRD_defconfig
@@ -102,7 +102,7 @@ CONFIG_IOSCHED_NOOP=y
 # CONFIG_DEFAULT_CFQ is not set
 CONFIG_DEFAULT_NOOP=y
 CONFIG_DEFAULT_IOSCHED="noop"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 # CONFIG_PREEMPT_NONE is not set
 CONFIG_PREEMPT_VOLUNTARY=y
 # CONFIG_PREEMPT is not set
diff --git a/arch/blackfin/configs/BlackStamp_defconfig b/arch/blackfin/configs/BlackStamp_defconfig
index 2921f99..fc74d4a 100644
--- a/arch/blackfin/configs/BlackStamp_defconfig
+++ b/arch/blackfin/configs/BlackStamp_defconfig
@@ -101,7 +101,7 @@ CONFIG_DEFAULT_AS=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="anticipatory"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 # CONFIG_PREEMPT_NONE is not set
 CONFIG_PREEMPT_VOLUNTARY=y
 # CONFIG_PREEMPT is not set
-- 
1.5.2.5


^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [PATCH -tip] Switch ia64 defconfig from CONFIG_CLASSIC_RCU to CONFIG_TREE_RCU.
  2008-12-23  0:12 [PATCH -tip] Change default from CLASSIC_RCU to TREE_RCU (testing only) paulmck
                   ` (3 preceding siblings ...)
  2008-12-23  0:12 ` [PATCH -tip] Switch blackfin defconfig " paulmck
@ 2008-12-23  0:12 ` paulmck
  2008-12-23  0:12 ` [PATCH -tip] Switch m68k " paulmck
                   ` (6 subsequent siblings)
  11 siblings, 0 replies; 27+ messages in thread
From: paulmck @ 2008-12-23  0:12 UTC (permalink / raw)
  To: linux-kernel
  Cc: mingo, tglx, akpm, ralf, kernel, hskinnemoen, cooloney, tony.luck,
	geert, zippel, jwboyer, mporter, grant.likely, paulus, benh,
	dhowells, yasutake.koichi, lethal, hpa, Paul E. McKenney

From: Paul E. McKenney <paulmck@linux.vnet.ibm.com>

Only for testing in -tip and -next, not yet for inclusion into mainline.

Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
---
 arch/ia64/configs/generic_defconfig |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/arch/ia64/configs/generic_defconfig b/arch/ia64/configs/generic_defconfig
index 27eb676..124f14a 100644
--- a/arch/ia64/configs/generic_defconfig
+++ b/arch/ia64/configs/generic_defconfig
@@ -110,7 +110,7 @@ CONFIG_DEFAULT_AS=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="anticipatory"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 # CONFIG_FREEZER is not set
 
 #
-- 
1.5.2.5


^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [PATCH -tip] Switch m68k defconfig from CONFIG_CLASSIC_RCU to CONFIG_TREE_RCU.
  2008-12-23  0:12 [PATCH -tip] Change default from CLASSIC_RCU to TREE_RCU (testing only) paulmck
                   ` (4 preceding siblings ...)
  2008-12-23  0:12 ` [PATCH -tip] Switch ia64 " paulmck
@ 2008-12-23  0:12 ` paulmck
  2008-12-23  0:12 ` [PATCH -tip] Switch m68knommu " paulmck
                   ` (5 subsequent siblings)
  11 siblings, 0 replies; 27+ messages in thread
From: paulmck @ 2008-12-23  0:12 UTC (permalink / raw)
  To: linux-kernel
  Cc: mingo, tglx, akpm, ralf, kernel, hskinnemoen, cooloney, tony.luck,
	geert, zippel, jwboyer, mporter, grant.likely, paulus, benh,
	dhowells, yasutake.koichi, lethal, hpa, Paul E. McKenney

From: Paul E. McKenney <paulmck@linux.vnet.ibm.com>

Only for testing in -tip and -next, not yet for inclusion into mainline.

Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
---
 arch/m68k/configs/amiga_defconfig    |    2 +-
 arch/m68k/configs/apollo_defconfig   |    2 +-
 arch/m68k/configs/atari_defconfig    |    2 +-
 arch/m68k/configs/bvme6000_defconfig |    2 +-
 arch/m68k/configs/hp300_defconfig    |    2 +-
 arch/m68k/configs/mac_defconfig      |    2 +-
 arch/m68k/configs/multi_defconfig    |    2 +-
 arch/m68k/configs/mvme147_defconfig  |    2 +-
 arch/m68k/configs/mvme16x_defconfig  |    2 +-
 arch/m68k/configs/q40_defconfig      |    2 +-
 arch/m68k/configs/sun3_defconfig     |    2 +-
 arch/m68k/configs/sun3x_defconfig    |    2 +-
 12 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/arch/m68k/configs/amiga_defconfig b/arch/m68k/configs/amiga_defconfig
index 23597be..633e2e4 100644
--- a/arch/m68k/configs/amiga_defconfig
+++ b/arch/m68k/configs/amiga_defconfig
@@ -104,7 +104,7 @@ CONFIG_DEFAULT_AS=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="anticipatory"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 # CONFIG_FREEZER is not set
 
 #
diff --git a/arch/m68k/configs/apollo_defconfig b/arch/m68k/configs/apollo_defconfig
index 935108d..73d5a49 100644
--- a/arch/m68k/configs/apollo_defconfig
+++ b/arch/m68k/configs/apollo_defconfig
@@ -104,7 +104,7 @@ CONFIG_DEFAULT_AS=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="anticipatory"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 # CONFIG_FREEZER is not set
 
 #
diff --git a/arch/m68k/configs/atari_defconfig b/arch/m68k/configs/atari_defconfig
index a594a1d..d33ac92 100644
--- a/arch/m68k/configs/atari_defconfig
+++ b/arch/m68k/configs/atari_defconfig
@@ -104,7 +104,7 @@ CONFIG_DEFAULT_AS=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="anticipatory"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 # CONFIG_FREEZER is not set
 
 #
diff --git a/arch/m68k/configs/bvme6000_defconfig b/arch/m68k/configs/bvme6000_defconfig
index d3d9814..a3d311d 100644
--- a/arch/m68k/configs/bvme6000_defconfig
+++ b/arch/m68k/configs/bvme6000_defconfig
@@ -104,7 +104,7 @@ CONFIG_DEFAULT_AS=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="anticipatory"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 # CONFIG_FREEZER is not set
 
 #
diff --git a/arch/m68k/configs/hp300_defconfig b/arch/m68k/configs/hp300_defconfig
index 5556ef0..f31cd0b 100644
--- a/arch/m68k/configs/hp300_defconfig
+++ b/arch/m68k/configs/hp300_defconfig
@@ -104,7 +104,7 @@ CONFIG_DEFAULT_AS=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="anticipatory"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 # CONFIG_FREEZER is not set
 
 #
diff --git a/arch/m68k/configs/mac_defconfig b/arch/m68k/configs/mac_defconfig
index c6de257..781855e 100644
--- a/arch/m68k/configs/mac_defconfig
+++ b/arch/m68k/configs/mac_defconfig
@@ -104,7 +104,7 @@ CONFIG_DEFAULT_AS=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="anticipatory"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 # CONFIG_FREEZER is not set
 
 #
diff --git a/arch/m68k/configs/multi_defconfig b/arch/m68k/configs/multi_defconfig
index 7069358..0c2ef99 100644
--- a/arch/m68k/configs/multi_defconfig
+++ b/arch/m68k/configs/multi_defconfig
@@ -104,7 +104,7 @@ CONFIG_DEFAULT_AS=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="anticipatory"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 # CONFIG_FREEZER is not set
 
 #
diff --git a/arch/m68k/configs/mvme147_defconfig b/arch/m68k/configs/mvme147_defconfig
index 52d4271..679cbc9 100644
--- a/arch/m68k/configs/mvme147_defconfig
+++ b/arch/m68k/configs/mvme147_defconfig
@@ -104,7 +104,7 @@ CONFIG_DEFAULT_AS=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="anticipatory"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 # CONFIG_FREEZER is not set
 
 #
diff --git a/arch/m68k/configs/mvme16x_defconfig b/arch/m68k/configs/mvme16x_defconfig
index 3403ed2..96fbf50 100644
--- a/arch/m68k/configs/mvme16x_defconfig
+++ b/arch/m68k/configs/mvme16x_defconfig
@@ -104,7 +104,7 @@ CONFIG_DEFAULT_AS=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="anticipatory"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 # CONFIG_FREEZER is not set
 
 #
diff --git a/arch/m68k/configs/q40_defconfig b/arch/m68k/configs/q40_defconfig
index 3459c59..775170c 100644
--- a/arch/m68k/configs/q40_defconfig
+++ b/arch/m68k/configs/q40_defconfig
@@ -104,7 +104,7 @@ CONFIG_DEFAULT_AS=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="anticipatory"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 # CONFIG_FREEZER is not set
 
 #
diff --git a/arch/m68k/configs/sun3_defconfig b/arch/m68k/configs/sun3_defconfig
index f404917..d913aa4 100644
--- a/arch/m68k/configs/sun3_defconfig
+++ b/arch/m68k/configs/sun3_defconfig
@@ -104,7 +104,7 @@ CONFIG_DEFAULT_AS=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="anticipatory"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 # CONFIG_FREEZER is not set
 
 #
diff --git a/arch/m68k/configs/sun3x_defconfig b/arch/m68k/configs/sun3x_defconfig
index 4d8a1e8..8ade788 100644
--- a/arch/m68k/configs/sun3x_defconfig
+++ b/arch/m68k/configs/sun3x_defconfig
@@ -104,7 +104,7 @@ CONFIG_DEFAULT_AS=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="anticipatory"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 # CONFIG_FREEZER is not set
 
 #
-- 
1.5.2.5


^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [PATCH -tip] Switch m68knommu from CONFIG_CLASSIC_RCU to CONFIG_TREE_RCU.
  2008-12-23  0:12 [PATCH -tip] Change default from CLASSIC_RCU to TREE_RCU (testing only) paulmck
                   ` (5 preceding siblings ...)
  2008-12-23  0:12 ` [PATCH -tip] Switch m68k " paulmck
@ 2008-12-23  0:12 ` paulmck
  2008-12-23  0:12 ` [PATCH -tip] Switch mips defconfig " paulmck
                   ` (4 subsequent siblings)
  11 siblings, 0 replies; 27+ messages in thread
From: paulmck @ 2008-12-23  0:12 UTC (permalink / raw)
  To: linux-kernel
  Cc: mingo, tglx, akpm, ralf, kernel, hskinnemoen, cooloney, tony.luck,
	geert, zippel, jwboyer, mporter, grant.likely, paulus, benh,
	dhowells, yasutake.koichi, lethal, hpa, Paul E. McKenney

From: Paul E. McKenney <paulmck@linux.vnet.ibm.com>

Only for testing in -tip and -next, not yet for inclusion into mainline.

Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
---
 arch/m68knommu/configs/m5208evb_defconfig |    2 +-
 arch/m68knommu/configs/m5249evb_defconfig |    2 +-
 arch/m68knommu/configs/m5275evb_defconfig |    2 +-
 arch/m68knommu/configs/m5307c3_defconfig  |    2 +-
 arch/m68knommu/configs/m5407c3_defconfig  |    2 +-
 5 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/arch/m68knommu/configs/m5208evb_defconfig b/arch/m68knommu/configs/m5208evb_defconfig
index 6fae33a..eed8981 100644
--- a/arch/m68knommu/configs/m5208evb_defconfig
+++ b/arch/m68knommu/configs/m5208evb_defconfig
@@ -93,7 +93,7 @@ CONFIG_IOSCHED_NOOP=y
 # CONFIG_DEFAULT_CFQ is not set
 CONFIG_DEFAULT_NOOP=y
 CONFIG_DEFAULT_IOSCHED="noop"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 
 #
 # Processor type and features
diff --git a/arch/m68knommu/configs/m5249evb_defconfig b/arch/m68knommu/configs/m5249evb_defconfig
index cc64583..71956bd 100644
--- a/arch/m68knommu/configs/m5249evb_defconfig
+++ b/arch/m68knommu/configs/m5249evb_defconfig
@@ -92,7 +92,7 @@ CONFIG_IOSCHED_NOOP=y
 # CONFIG_DEFAULT_CFQ is not set
 CONFIG_DEFAULT_NOOP=y
 CONFIG_DEFAULT_IOSCHED="noop"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 
 #
 # Processor type and features
diff --git a/arch/m68knommu/configs/m5275evb_defconfig b/arch/m68knommu/configs/m5275evb_defconfig
index 0d1256f..801ec9d 100644
--- a/arch/m68knommu/configs/m5275evb_defconfig
+++ b/arch/m68knommu/configs/m5275evb_defconfig
@@ -95,7 +95,7 @@ CONFIG_IOSCHED_NOOP=y
 # CONFIG_DEFAULT_CFQ is not set
 CONFIG_DEFAULT_NOOP=y
 CONFIG_DEFAULT_IOSCHED="noop"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 
 #
 # Processor type and features
diff --git a/arch/m68knommu/configs/m5307c3_defconfig b/arch/m68knommu/configs/m5307c3_defconfig
index fe2acdf..84cffcf 100644
--- a/arch/m68knommu/configs/m5307c3_defconfig
+++ b/arch/m68knommu/configs/m5307c3_defconfig
@@ -95,7 +95,7 @@ CONFIG_IOSCHED_NOOP=y
 # CONFIG_DEFAULT_CFQ is not set
 CONFIG_DEFAULT_NOOP=y
 CONFIG_DEFAULT_IOSCHED="noop"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 
 #
 # Processor type and features
diff --git a/arch/m68knommu/configs/m5407c3_defconfig b/arch/m68knommu/configs/m5407c3_defconfig
index 1118936..0a83c3b 100644
--- a/arch/m68knommu/configs/m5407c3_defconfig
+++ b/arch/m68knommu/configs/m5407c3_defconfig
@@ -96,7 +96,7 @@ CONFIG_IOSCHED_NOOP=y
 # CONFIG_DEFAULT_CFQ is not set
 CONFIG_DEFAULT_NOOP=y
 CONFIG_DEFAULT_IOSCHED="noop"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 
 #
 # Processor type and features
-- 
1.5.2.5


^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [PATCH -tip] Switch mips defconfig from CONFIG_CLASSIC_RCU to CONFIG_TREE_RCU.
  2008-12-23  0:12 [PATCH -tip] Change default from CLASSIC_RCU to TREE_RCU (testing only) paulmck
                   ` (6 preceding siblings ...)
  2008-12-23  0:12 ` [PATCH -tip] Switch m68knommu " paulmck
@ 2008-12-23  0:12 ` paulmck
  2008-12-23  0:12 ` [PATCH -tip] Switch mn10300 " paulmck
                   ` (3 subsequent siblings)
  11 siblings, 0 replies; 27+ messages in thread
From: paulmck @ 2008-12-23  0:12 UTC (permalink / raw)
  To: linux-kernel
  Cc: mingo, tglx, akpm, ralf, kernel, hskinnemoen, cooloney, tony.luck,
	geert, zippel, jwboyer, mporter, grant.likely, paulus, benh,
	dhowells, yasutake.koichi, lethal, hpa, Paul E. McKenney

From: Paul E. McKenney <paulmck@linux.vnet.ibm.com>

Only for testing in -tip and -next, not yet for inclusion into mainline.

Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
---
 arch/mips/configs/bcm47xx_defconfig        |    2 +-
 arch/mips/configs/bigsur_defconfig         |    2 +-
 arch/mips/configs/cobalt_defconfig         |    2 +-
 arch/mips/configs/fulong_defconfig         |    2 +-
 arch/mips/configs/ip22_defconfig           |    2 +-
 arch/mips/configs/ip28_defconfig           |    2 +-
 arch/mips/configs/ip32_defconfig           |    2 +-
 arch/mips/configs/jmr3927_defconfig        |    2 +-
 arch/mips/configs/malta_defconfig          |    2 +-
 arch/mips/configs/pnx8335-stb225_defconfig |    2 +-
 arch/mips/configs/rb532_defconfig          |    2 +-
 arch/mips/configs/rbtx49xx_defconfig       |    2 +-
 arch/mips/configs/sb1250-swarm_defconfig   |    2 +-
 arch/mips/configs/tb0219_defconfig         |    2 +-
 arch/mips/configs/tb0226_defconfig         |    2 +-
 arch/mips/configs/tb0287_defconfig         |    2 +-
 16 files changed, 16 insertions(+), 16 deletions(-)

diff --git a/arch/mips/configs/bcm47xx_defconfig b/arch/mips/configs/bcm47xx_defconfig
index d869433..a85564a 100644
--- a/arch/mips/configs/bcm47xx_defconfig
+++ b/arch/mips/configs/bcm47xx_defconfig
@@ -245,7 +245,7 @@ CONFIG_IOSCHED_CFQ=y
 CONFIG_DEFAULT_CFQ=y
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="cfq"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 # CONFIG_PREEMPT_RCU is not set
 
 #
diff --git a/arch/mips/configs/bigsur_defconfig b/arch/mips/configs/bigsur_defconfig
index a3bbbf0..07407f5 100644
--- a/arch/mips/configs/bigsur_defconfig
+++ b/arch/mips/configs/bigsur_defconfig
@@ -273,7 +273,7 @@ CONFIG_DEFAULT_AS=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="anticipatory"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 
 #
 # Bus options (PCI, PCMCIA, EISA, ISA, TC)
diff --git a/arch/mips/configs/cobalt_defconfig b/arch/mips/configs/cobalt_defconfig
index eb44b72..306ffa0 100644
--- a/arch/mips/configs/cobalt_defconfig
+++ b/arch/mips/configs/cobalt_defconfig
@@ -242,7 +242,7 @@ CONFIG_DEFAULT_AS=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="anticipatory"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 
 #
 # Bus options (PCI, PCMCIA, EISA, ISA, TC)
diff --git a/arch/mips/configs/fulong_defconfig b/arch/mips/configs/fulong_defconfig
index b6698a2..4636f87 100644
--- a/arch/mips/configs/fulong_defconfig
+++ b/arch/mips/configs/fulong_defconfig
@@ -252,7 +252,7 @@ CONFIG_IOSCHED_CFQ=y
 CONFIG_DEFAULT_CFQ=y
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="cfq"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 CONFIG_FREEZER=y
 
 #
diff --git a/arch/mips/configs/ip22_defconfig b/arch/mips/configs/ip22_defconfig
index 1158228..1600dd8 100644
--- a/arch/mips/configs/ip22_defconfig
+++ b/arch/mips/configs/ip22_defconfig
@@ -259,7 +259,7 @@ CONFIG_DEFAULT_AS=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="anticipatory"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 # CONFIG_FREEZER is not set
 
 #
diff --git a/arch/mips/configs/ip28_defconfig b/arch/mips/configs/ip28_defconfig
index 70a744e..932f093 100644
--- a/arch/mips/configs/ip28_defconfig
+++ b/arch/mips/configs/ip28_defconfig
@@ -247,7 +247,7 @@ CONFIG_DEFAULT_AS=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="anticipatory"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 # CONFIG_PREEMPT_RCU is not set
 
 #
diff --git a/arch/mips/configs/ip32_defconfig b/arch/mips/configs/ip32_defconfig
index de4c7a0..c3e5190 100644
--- a/arch/mips/configs/ip32_defconfig
+++ b/arch/mips/configs/ip32_defconfig
@@ -244,7 +244,7 @@ CONFIG_IOSCHED_CFQ=y
 CONFIG_DEFAULT_CFQ=y
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="cfq"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 # CONFIG_FREEZER is not set
 
 #
diff --git a/arch/mips/configs/jmr3927_defconfig b/arch/mips/configs/jmr3927_defconfig
index 9d5bd2a..e97ba5e 100644
--- a/arch/mips/configs/jmr3927_defconfig
+++ b/arch/mips/configs/jmr3927_defconfig
@@ -221,7 +221,7 @@ CONFIG_IOSCHED_CFQ=y
 CONFIG_DEFAULT_CFQ=y
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="cfq"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 
 #
 # Bus options (PCI, PCMCIA, EISA, ISA, TC)
diff --git a/arch/mips/configs/malta_defconfig b/arch/mips/configs/malta_defconfig
index 1ecdd3b..bb6ee17 100644
--- a/arch/mips/configs/malta_defconfig
+++ b/arch/mips/configs/malta_defconfig
@@ -282,7 +282,7 @@ CONFIG_DEFAULT_AS=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="anticipatory"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 # CONFIG_FREEZER is not set
 
 #
diff --git a/arch/mips/configs/pnx8335-stb225_defconfig b/arch/mips/configs/pnx8335-stb225_defconfig
index d953652..524c779 100644
--- a/arch/mips/configs/pnx8335-stb225_defconfig
+++ b/arch/mips/configs/pnx8335-stb225_defconfig
@@ -242,7 +242,7 @@ CONFIG_IOSCHED_NOOP=y
 # CONFIG_DEFAULT_CFQ is not set
 CONFIG_DEFAULT_NOOP=y
 CONFIG_DEFAULT_IOSCHED="noop"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 
 #
 # Bus options (PCI, PCMCIA, EISA, ISA, TC)
diff --git a/arch/mips/configs/rb532_defconfig b/arch/mips/configs/rb532_defconfig
index f28dc32..52d1ee5 100644
--- a/arch/mips/configs/rb532_defconfig
+++ b/arch/mips/configs/rb532_defconfig
@@ -241,7 +241,7 @@ CONFIG_DEFAULT_DEADLINE=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="deadline"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 
 #
 # Bus options (PCI, PCMCIA, EISA, ISA, TC)
diff --git a/arch/mips/configs/rbtx49xx_defconfig b/arch/mips/configs/rbtx49xx_defconfig
index c7c0864..b0c2cbb 100644
--- a/arch/mips/configs/rbtx49xx_defconfig
+++ b/arch/mips/configs/rbtx49xx_defconfig
@@ -244,7 +244,7 @@ CONFIG_DEFAULT_AS=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="anticipatory"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 
 #
 # Bus options (PCI, PCMCIA, EISA, ISA, TC)
diff --git a/arch/mips/configs/sb1250-swarm_defconfig b/arch/mips/configs/sb1250-swarm_defconfig
index a9acaa2..ecf9b61 100644
--- a/arch/mips/configs/sb1250-swarm_defconfig
+++ b/arch/mips/configs/sb1250-swarm_defconfig
@@ -275,7 +275,7 @@ CONFIG_DEFAULT_AS=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="anticipatory"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 
 #
 # Bus options (PCI, PCMCIA, EISA, ISA, TC)
diff --git a/arch/mips/configs/tb0219_defconfig b/arch/mips/configs/tb0219_defconfig
index b505988..ceeb5a4 100644
--- a/arch/mips/configs/tb0219_defconfig
+++ b/arch/mips/configs/tb0219_defconfig
@@ -240,7 +240,7 @@ CONFIG_DEFAULT_AS=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="anticipatory"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 
 #
 # Bus options (PCI, PCMCIA, EISA, ISA, TC)
diff --git a/arch/mips/configs/tb0226_defconfig b/arch/mips/configs/tb0226_defconfig
index b06a716..15e5b10 100644
--- a/arch/mips/configs/tb0226_defconfig
+++ b/arch/mips/configs/tb0226_defconfig
@@ -240,7 +240,7 @@ CONFIG_DEFAULT_AS=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="anticipatory"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 
 #
 # Bus options (PCI, PCMCIA, EISA, ISA, TC)
diff --git a/arch/mips/configs/tb0287_defconfig b/arch/mips/configs/tb0287_defconfig
index 46512cf..87f5f3c 100644
--- a/arch/mips/configs/tb0287_defconfig
+++ b/arch/mips/configs/tb0287_defconfig
@@ -239,7 +239,7 @@ CONFIG_DEFAULT_AS=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="anticipatory"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 
 #
 # Bus options (PCI, PCMCIA, EISA, ISA, TC)
-- 
1.5.2.5


^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [PATCH -tip] Switch mn10300 defconfig from CONFIG_CLASSIC_RCU to CONFIG_TREE_RCU.
  2008-12-23  0:12 [PATCH -tip] Change default from CLASSIC_RCU to TREE_RCU (testing only) paulmck
                   ` (7 preceding siblings ...)
  2008-12-23  0:12 ` [PATCH -tip] Switch mips defconfig " paulmck
@ 2008-12-23  0:12 ` paulmck
  2008-12-23  0:12 ` [PATCH -tip] Switch powerpc " paulmck
                   ` (2 subsequent siblings)
  11 siblings, 0 replies; 27+ messages in thread
From: paulmck @ 2008-12-23  0:12 UTC (permalink / raw)
  To: linux-kernel
  Cc: mingo, tglx, akpm, ralf, kernel, hskinnemoen, cooloney, tony.luck,
	geert, zippel, jwboyer, mporter, grant.likely, paulus, benh,
	dhowells, yasutake.koichi, lethal, hpa, Paul E. McKenney

From: Paul E. McKenney <paulmck@linux.vnet.ibm.com>

Only for testing in -tip and -next, not yet for inclusion into mainline.

Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
---
 arch/mn10300/configs/asb2303_defconfig |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/arch/mn10300/configs/asb2303_defconfig b/arch/mn10300/configs/asb2303_defconfig
index 3aa8906..4b3695f 100644
--- a/arch/mn10300/configs/asb2303_defconfig
+++ b/arch/mn10300/configs/asb2303_defconfig
@@ -84,7 +84,7 @@ CONFIG_RT_MUTEXES=y
 CONFIG_BASE_SMALL=0
 # CONFIG_MODULES is not set
 # CONFIG_BLOCK is not set
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 # CONFIG_PREEMPT_RCU is not set
 
 #
-- 
1.5.2.5


^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [PATCH -tip] Switch powerpc defconfig from CONFIG_CLASSIC_RCU to CONFIG_TREE_RCU.
  2008-12-23  0:12 [PATCH -tip] Change default from CLASSIC_RCU to TREE_RCU (testing only) paulmck
                   ` (8 preceding siblings ...)
  2008-12-23  0:12 ` [PATCH -tip] Switch mn10300 " paulmck
@ 2008-12-23  0:12 ` paulmck
  2008-12-23  0:12 ` [PATCH -tip] Switch sh " paulmck
  2008-12-23  0:12 ` [PATCH -tip] Switch x86 " paulmck
  11 siblings, 0 replies; 27+ messages in thread
From: paulmck @ 2008-12-23  0:12 UTC (permalink / raw)
  To: linux-kernel
  Cc: mingo, tglx, akpm, ralf, kernel, hskinnemoen, cooloney, tony.luck,
	geert, zippel, jwboyer, mporter, grant.likely, paulus, benh,
	dhowells, yasutake.koichi, lethal, hpa, Paul E. McKenney

From: Paul E. McKenney <paulmck@linux.vnet.ibm.com>

Only for testing in -tip and -next, not yet for inclusion into mainline.

Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
---
 arch/powerpc/configs/adder875_defconfig     |    2 +-
 arch/powerpc/configs/c2k_defconfig          |    2 +-
 arch/powerpc/configs/cell_defconfig         |    2 +-
 arch/powerpc/configs/celleb_defconfig       |    2 +-
 arch/powerpc/configs/chrp32_defconfig       |    2 +-
 arch/powerpc/configs/ep8248e_defconfig      |    2 +-
 arch/powerpc/configs/ep88xc_defconfig       |    2 +-
 arch/powerpc/configs/g5_defconfig           |    2 +-
 arch/powerpc/configs/iseries_defconfig      |    2 +-
 arch/powerpc/configs/linkstation_defconfig  |    2 +-
 arch/powerpc/configs/maple_defconfig        |    2 +-
 arch/powerpc/configs/mgcoge_defconfig       |    2 +-
 arch/powerpc/configs/mgsuvd_defconfig       |    2 +-
 arch/powerpc/configs/mpc5200_defconfig      |    2 +-
 arch/powerpc/configs/mpc7448_hpc2_defconfig |    2 +-
 arch/powerpc/configs/mpc8272_ads_defconfig  |    2 +-
 arch/powerpc/configs/mpc83xx_defconfig      |    2 +-
 arch/powerpc/configs/mpc85xx_defconfig      |    2 +-
 arch/powerpc/configs/mpc866_ads_defconfig   |    2 +-
 arch/powerpc/configs/mpc86xx_defconfig      |    2 +-
 arch/powerpc/configs/mpc885_ads_defconfig   |    2 +-
 arch/powerpc/configs/pasemi_defconfig       |    2 +-
 arch/powerpc/configs/pmac32_defconfig       |    2 +-
 arch/powerpc/configs/ppc40x_defconfig       |    2 +-
 arch/powerpc/configs/ppc44x_defconfig       |    2 +-
 arch/powerpc/configs/ppc64_defconfig        |    2 +-
 arch/powerpc/configs/ppc6xx_defconfig       |    2 +-
 arch/powerpc/configs/pq2fads_defconfig      |    2 +-
 arch/powerpc/configs/prpmc2800_defconfig    |    2 +-
 arch/powerpc/configs/ps3_defconfig          |    2 +-
 arch/powerpc/configs/pseries_defconfig      |    2 +-
 arch/powerpc/configs/storcenter_defconfig   |    2 +-
 32 files changed, 32 insertions(+), 32 deletions(-)

diff --git a/arch/powerpc/configs/adder875_defconfig b/arch/powerpc/configs/adder875_defconfig
index 024f279..44a9c33 100644
--- a/arch/powerpc/configs/adder875_defconfig
+++ b/arch/powerpc/configs/adder875_defconfig
@@ -141,7 +141,7 @@ CONFIG_DEFAULT_DEADLINE=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="deadline"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 # CONFIG_FREEZER is not set
 
 #
diff --git a/arch/powerpc/configs/c2k_defconfig b/arch/powerpc/configs/c2k_defconfig
index 5078594..fdd2796 100644
--- a/arch/powerpc/configs/c2k_defconfig
+++ b/arch/powerpc/configs/c2k_defconfig
@@ -163,7 +163,7 @@ CONFIG_IOSCHED_CFQ=y
 CONFIG_DEFAULT_CFQ=y
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="cfq"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 # CONFIG_FREEZER is not set
 
 #
diff --git a/arch/powerpc/configs/cell_defconfig b/arch/powerpc/configs/cell_defconfig
index c420e47..2a0c357 100644
--- a/arch/powerpc/configs/cell_defconfig
+++ b/arch/powerpc/configs/cell_defconfig
@@ -155,7 +155,7 @@ CONFIG_DEFAULT_AS=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="anticipatory"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 
 #
 # Platform support
diff --git a/arch/powerpc/configs/celleb_defconfig b/arch/powerpc/configs/celleb_defconfig
index 9ba3c6f..b63cd4a 100644
--- a/arch/powerpc/configs/celleb_defconfig
+++ b/arch/powerpc/configs/celleb_defconfig
@@ -148,7 +148,7 @@ CONFIG_DEFAULT_AS=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="anticipatory"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 
 #
 # Platform support
diff --git a/arch/powerpc/configs/chrp32_defconfig b/arch/powerpc/configs/chrp32_defconfig
index 63b3c23..f43c2cb 100644
--- a/arch/powerpc/configs/chrp32_defconfig
+++ b/arch/powerpc/configs/chrp32_defconfig
@@ -157,7 +157,7 @@ CONFIG_DEFAULT_AS=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="anticipatory"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 # CONFIG_FREEZER is not set
 
 #
diff --git a/arch/powerpc/configs/ep8248e_defconfig b/arch/powerpc/configs/ep8248e_defconfig
index a6f1cff..a69daca 100644
--- a/arch/powerpc/configs/ep8248e_defconfig
+++ b/arch/powerpc/configs/ep8248e_defconfig
@@ -139,7 +139,7 @@ CONFIG_DEFAULT_DEADLINE=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="deadline"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 # CONFIG_FREEZER is not set
 
 #
diff --git a/arch/powerpc/configs/ep88xc_defconfig b/arch/powerpc/configs/ep88xc_defconfig
index 870d289..4d416fd 100644
--- a/arch/powerpc/configs/ep88xc_defconfig
+++ b/arch/powerpc/configs/ep88xc_defconfig
@@ -140,7 +140,7 @@ CONFIG_DEFAULT_DEADLINE=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="deadline"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 # CONFIG_FREEZER is not set
 
 #
diff --git a/arch/powerpc/configs/g5_defconfig b/arch/powerpc/configs/g5_defconfig
index f85e71c..02e0ec5 100644
--- a/arch/powerpc/configs/g5_defconfig
+++ b/arch/powerpc/configs/g5_defconfig
@@ -162,7 +162,7 @@ CONFIG_DEFAULT_AS=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="anticipatory"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 # CONFIG_FREEZER is not set
 CONFIG_PPC_MSI_BITMAP=y
 
diff --git a/arch/powerpc/configs/iseries_defconfig b/arch/powerpc/configs/iseries_defconfig
index f925c55..affb125 100644
--- a/arch/powerpc/configs/iseries_defconfig
+++ b/arch/powerpc/configs/iseries_defconfig
@@ -160,7 +160,7 @@ CONFIG_DEFAULT_AS=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="anticipatory"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 # CONFIG_FREEZER is not set
 
 #
diff --git a/arch/powerpc/configs/linkstation_defconfig b/arch/powerpc/configs/linkstation_defconfig
index 54fa624..4c68773 100644
--- a/arch/powerpc/configs/linkstation_defconfig
+++ b/arch/powerpc/configs/linkstation_defconfig
@@ -157,7 +157,7 @@ CONFIG_DEFAULT_AS=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="anticipatory"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 # CONFIG_FREEZER is not set
 
 #
diff --git a/arch/powerpc/configs/maple_defconfig b/arch/powerpc/configs/maple_defconfig
index 045f1b0..04a93cb 100644
--- a/arch/powerpc/configs/maple_defconfig
+++ b/arch/powerpc/configs/maple_defconfig
@@ -158,7 +158,7 @@ CONFIG_DEFAULT_AS=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="anticipatory"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 # CONFIG_FREEZER is not set
 CONFIG_PPC_MSI_BITMAP=y
 
diff --git a/arch/powerpc/configs/mgcoge_defconfig b/arch/powerpc/configs/mgcoge_defconfig
index 8d3c623..c8b2e66 100644
--- a/arch/powerpc/configs/mgcoge_defconfig
+++ b/arch/powerpc/configs/mgcoge_defconfig
@@ -143,7 +143,7 @@ CONFIG_DEFAULT_DEADLINE=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="deadline"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 # CONFIG_FREEZER is not set
 
 #
diff --git a/arch/powerpc/configs/mgsuvd_defconfig b/arch/powerpc/configs/mgsuvd_defconfig
index fbaa67f..c80e2ce 100644
--- a/arch/powerpc/configs/mgsuvd_defconfig
+++ b/arch/powerpc/configs/mgsuvd_defconfig
@@ -139,7 +139,7 @@ CONFIG_DEFAULT_AS=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="anticipatory"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 # CONFIG_FREEZER is not set
 
 #
diff --git a/arch/powerpc/configs/mpc5200_defconfig b/arch/powerpc/configs/mpc5200_defconfig
index 15c5604..1e92faf 100644
--- a/arch/powerpc/configs/mpc5200_defconfig
+++ b/arch/powerpc/configs/mpc5200_defconfig
@@ -147,7 +147,7 @@ CONFIG_DEFAULT_AS=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="anticipatory"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 CONFIG_FREEZER=y
 
 #
diff --git a/arch/powerpc/configs/mpc7448_hpc2_defconfig b/arch/powerpc/configs/mpc7448_hpc2_defconfig
index f80b1ca..7632280 100644
--- a/arch/powerpc/configs/mpc7448_hpc2_defconfig
+++ b/arch/powerpc/configs/mpc7448_hpc2_defconfig
@@ -144,7 +144,7 @@ CONFIG_DEFAULT_AS=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="anticipatory"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 # CONFIG_FREEZER is not set
 
 #
diff --git a/arch/powerpc/configs/mpc8272_ads_defconfig b/arch/powerpc/configs/mpc8272_ads_defconfig
index c8f5dec..49963eb 100644
--- a/arch/powerpc/configs/mpc8272_ads_defconfig
+++ b/arch/powerpc/configs/mpc8272_ads_defconfig
@@ -140,7 +140,7 @@ CONFIG_DEFAULT_AS=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="anticipatory"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 # CONFIG_FREEZER is not set
 
 #
diff --git a/arch/powerpc/configs/mpc83xx_defconfig b/arch/powerpc/configs/mpc83xx_defconfig
index d582014..557601c 100644
--- a/arch/powerpc/configs/mpc83xx_defconfig
+++ b/arch/powerpc/configs/mpc83xx_defconfig
@@ -154,7 +154,7 @@ CONFIG_DEFAULT_AS=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="anticipatory"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 # CONFIG_FREEZER is not set
 
 #
diff --git a/arch/powerpc/configs/mpc85xx_defconfig b/arch/powerpc/configs/mpc85xx_defconfig
index c87b53a..506aad1 100644
--- a/arch/powerpc/configs/mpc85xx_defconfig
+++ b/arch/powerpc/configs/mpc85xx_defconfig
@@ -159,7 +159,7 @@ CONFIG_IOSCHED_CFQ=y
 CONFIG_DEFAULT_CFQ=y
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="cfq"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 # CONFIG_FREEZER is not set
 
 #
diff --git a/arch/powerpc/configs/mpc866_ads_defconfig b/arch/powerpc/configs/mpc866_ads_defconfig
index 8272b1a..09d7670 100644
--- a/arch/powerpc/configs/mpc866_ads_defconfig
+++ b/arch/powerpc/configs/mpc866_ads_defconfig
@@ -139,7 +139,7 @@ CONFIG_DEFAULT_AS=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="anticipatory"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 # CONFIG_FREEZER is not set
 
 #
diff --git a/arch/powerpc/configs/mpc86xx_defconfig b/arch/powerpc/configs/mpc86xx_defconfig
index 1736bbc..3dc03cc 100644
--- a/arch/powerpc/configs/mpc86xx_defconfig
+++ b/arch/powerpc/configs/mpc86xx_defconfig
@@ -159,7 +159,7 @@ CONFIG_IOSCHED_CFQ=y
 CONFIG_DEFAULT_CFQ=y
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="cfq"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 # CONFIG_FREEZER is not set
 
 #
diff --git a/arch/powerpc/configs/mpc885_ads_defconfig b/arch/powerpc/configs/mpc885_ads_defconfig
index a4283b6..2c43aaf 100644
--- a/arch/powerpc/configs/mpc885_ads_defconfig
+++ b/arch/powerpc/configs/mpc885_ads_defconfig
@@ -140,7 +140,7 @@ CONFIG_DEFAULT_DEADLINE=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="deadline"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 # CONFIG_FREEZER is not set
 
 #
diff --git a/arch/powerpc/configs/pasemi_defconfig b/arch/powerpc/configs/pasemi_defconfig
index 199e5f5..90d1ae3 100644
--- a/arch/powerpc/configs/pasemi_defconfig
+++ b/arch/powerpc/configs/pasemi_defconfig
@@ -150,7 +150,7 @@ CONFIG_DEFAULT_AS=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="anticipatory"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 
 #
 # Platform support
diff --git a/arch/powerpc/configs/pmac32_defconfig b/arch/powerpc/configs/pmac32_defconfig
index de9b121..ff1f64b 100644
--- a/arch/powerpc/configs/pmac32_defconfig
+++ b/arch/powerpc/configs/pmac32_defconfig
@@ -158,7 +158,7 @@ CONFIG_DEFAULT_AS=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="anticipatory"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 CONFIG_FREEZER=y
 
 #
diff --git a/arch/powerpc/configs/ppc40x_defconfig b/arch/powerpc/configs/ppc40x_defconfig
index 4256e2c..d55f2fc 100644
--- a/arch/powerpc/configs/ppc40x_defconfig
+++ b/arch/powerpc/configs/ppc40x_defconfig
@@ -151,7 +151,7 @@ CONFIG_DEFAULT_AS=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="anticipatory"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 # CONFIG_FREEZER is not set
 CONFIG_PPC4xx_PCI_EXPRESS=y
 
diff --git a/arch/powerpc/configs/ppc44x_defconfig b/arch/powerpc/configs/ppc44x_defconfig
index cfc94cf..fec4fe7 100644
--- a/arch/powerpc/configs/ppc44x_defconfig
+++ b/arch/powerpc/configs/ppc44x_defconfig
@@ -156,7 +156,7 @@ CONFIG_DEFAULT_AS=y
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="anticipatory"
 CONFIG_PREEMPT_NOTIFIERS=y
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 # CONFIG_FREEZER is not set
 CONFIG_PPC4xx_PCI_EXPRESS=y
 
diff --git a/arch/powerpc/configs/ppc64_defconfig b/arch/powerpc/configs/ppc64_defconfig
index 069ae1b..9921dda 100644
--- a/arch/powerpc/configs/ppc64_defconfig
+++ b/arch/powerpc/configs/ppc64_defconfig
@@ -176,7 +176,7 @@ CONFIG_DEFAULT_AS=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="anticipatory"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 # CONFIG_FREEZER is not set
 CONFIG_PPC_MSI_BITMAP=y
 
diff --git a/arch/powerpc/configs/ppc6xx_defconfig b/arch/powerpc/configs/ppc6xx_defconfig
index 01f05ec..ce71c65 100644
--- a/arch/powerpc/configs/ppc6xx_defconfig
+++ b/arch/powerpc/configs/ppc6xx_defconfig
@@ -180,7 +180,7 @@ CONFIG_IOSCHED_CFQ=y
 CONFIG_DEFAULT_CFQ=y
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="cfq"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 CONFIG_FREEZER=y
 CONFIG_PPC_MSI_BITMAP=y
 
diff --git a/arch/powerpc/configs/pq2fads_defconfig b/arch/powerpc/configs/pq2fads_defconfig
index 228099d..bcd7ae6 100644
--- a/arch/powerpc/configs/pq2fads_defconfig
+++ b/arch/powerpc/configs/pq2fads_defconfig
@@ -141,7 +141,7 @@ CONFIG_DEFAULT_AS=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="anticipatory"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 # CONFIG_FREEZER is not set
 
 #
diff --git a/arch/powerpc/configs/prpmc2800_defconfig b/arch/powerpc/configs/prpmc2800_defconfig
index 6046dc0..4775379 100644
--- a/arch/powerpc/configs/prpmc2800_defconfig
+++ b/arch/powerpc/configs/prpmc2800_defconfig
@@ -150,7 +150,7 @@ CONFIG_DEFAULT_AS=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="anticipatory"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 # CONFIG_FREEZER is not set
 
 #
diff --git a/arch/powerpc/configs/ps3_defconfig b/arch/powerpc/configs/ps3_defconfig
index b6eee7c..638cae2 100644
--- a/arch/powerpc/configs/ps3_defconfig
+++ b/arch/powerpc/configs/ps3_defconfig
@@ -157,7 +157,7 @@ CONFIG_DEFAULT_AS=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="anticipatory"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 
 #
 # Platform support
diff --git a/arch/powerpc/configs/pseries_defconfig b/arch/powerpc/configs/pseries_defconfig
index 1e520ab..f4084b4 100644
--- a/arch/powerpc/configs/pseries_defconfig
+++ b/arch/powerpc/configs/pseries_defconfig
@@ -176,7 +176,7 @@ CONFIG_DEFAULT_AS=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="anticipatory"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 CONFIG_FREEZER=y
 CONFIG_PPC_MSI_BITMAP=y
 
diff --git a/arch/powerpc/configs/storcenter_defconfig b/arch/powerpc/configs/storcenter_defconfig
index b3f5671..b7a5a33 100644
--- a/arch/powerpc/configs/storcenter_defconfig
+++ b/arch/powerpc/configs/storcenter_defconfig
@@ -148,7 +148,7 @@ CONFIG_IOSCHED_CFQ=y
 CONFIG_DEFAULT_CFQ=y
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="cfq"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 # CONFIG_FREEZER is not set
 
 #
-- 
1.5.2.5


^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [PATCH -tip] Switch sh defconfig from CONFIG_CLASSIC_RCU to CONFIG_TREE_RCU.
  2008-12-23  0:12 [PATCH -tip] Change default from CLASSIC_RCU to TREE_RCU (testing only) paulmck
                   ` (9 preceding siblings ...)
  2008-12-23  0:12 ` [PATCH -tip] Switch powerpc " paulmck
@ 2008-12-23  0:12 ` paulmck
  2008-12-23  0:12 ` [PATCH -tip] Switch x86 " paulmck
  11 siblings, 0 replies; 27+ messages in thread
From: paulmck @ 2008-12-23  0:12 UTC (permalink / raw)
  To: linux-kernel
  Cc: mingo, tglx, akpm, ralf, kernel, hskinnemoen, cooloney, tony.luck,
	geert, zippel, jwboyer, mporter, grant.likely, paulus, benh,
	dhowells, yasutake.koichi, lethal, hpa, Paul E. McKenney

From: Paul E. McKenney <paulmck@linux.vnet.ibm.com>

Only for testing in -tip and -next, not yet for inclusion into mainline.

Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
---
 arch/sh/configs/ap325rxa_defconfig            |    2 +-
 arch/sh/configs/cayman_defconfig              |    2 +-
 arch/sh/configs/dreamcast_defconfig           |    2 +-
 arch/sh/configs/edosk7760_defconfig           |    2 +-
 arch/sh/configs/hp6xx_defconfig               |    2 +-
 arch/sh/configs/landisk_defconfig             |    2 +-
 arch/sh/configs/lboxre2_defconfig             |    2 +-
 arch/sh/configs/magicpanelr2_defconfig        |    2 +-
 arch/sh/configs/microdev_defconfig            |    2 +-
 arch/sh/configs/migor_defconfig               |    2 +-
 arch/sh/configs/r7780mp_defconfig             |    2 +-
 arch/sh/configs/r7785rp_defconfig             |    2 +-
 arch/sh/configs/rsk7203_defconfig             |    2 +-
 arch/sh/configs/rts7751r2d1_defconfig         |    2 +-
 arch/sh/configs/rts7751r2dplus_defconfig      |    2 +-
 arch/sh/configs/rts7751r2dplus_qemu_defconfig |    2 +-
 arch/sh/configs/sdk7780_defconfig             |    2 +-
 arch/sh/configs/se7206_defconfig              |    2 +-
 arch/sh/configs/se7343_defconfig              |    2 +-
 arch/sh/configs/se7619_defconfig              |    2 +-
 arch/sh/configs/se7705_defconfig              |    2 +-
 arch/sh/configs/se7712_defconfig              |    2 +-
 arch/sh/configs/se7721_defconfig              |    2 +-
 arch/sh/configs/se7722_defconfig              |    2 +-
 arch/sh/configs/se7750_defconfig              |    2 +-
 arch/sh/configs/se7751_defconfig              |    2 +-
 arch/sh/configs/se7780_defconfig              |    2 +-
 arch/sh/configs/sh03_defconfig                |    2 +-
 arch/sh/configs/sh7710voipgw_defconfig        |    2 +-
 arch/sh/configs/sh7763rdp_defconfig           |    2 +-
 arch/sh/configs/sh7785lcr_defconfig           |    2 +-
 arch/sh/configs/shmin_defconfig               |    2 +-
 arch/sh/configs/shx3_defconfig                |    2 +-
 arch/sh/configs/snapgear_defconfig            |    2 +-
 arch/sh/configs/systemh_defconfig             |    2 +-
 arch/sh/configs/titan_defconfig               |    2 +-
 arch/sh/configs/ul2_defconfig                 |    2 +-
 37 files changed, 37 insertions(+), 37 deletions(-)

diff --git a/arch/sh/configs/ap325rxa_defconfig b/arch/sh/configs/ap325rxa_defconfig
index 874dd97..06f02cb 100644
--- a/arch/sh/configs/ap325rxa_defconfig
+++ b/arch/sh/configs/ap325rxa_defconfig
@@ -118,7 +118,7 @@ CONFIG_IOSCHED_CFQ=y
 CONFIG_DEFAULT_CFQ=y
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="cfq"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 # CONFIG_FREEZER is not set
 
 #
diff --git a/arch/sh/configs/cayman_defconfig b/arch/sh/configs/cayman_defconfig
index e21c0e8..77a086a 100644
--- a/arch/sh/configs/cayman_defconfig
+++ b/arch/sh/configs/cayman_defconfig
@@ -112,7 +112,7 @@ CONFIG_IOSCHED_CFQ=y
 CONFIG_DEFAULT_CFQ=y
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="cfq"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 # CONFIG_FREEZER is not set
 
 #
diff --git a/arch/sh/configs/dreamcast_defconfig b/arch/sh/configs/dreamcast_defconfig
index be4c2e0..8068c70 100644
--- a/arch/sh/configs/dreamcast_defconfig
+++ b/arch/sh/configs/dreamcast_defconfig
@@ -118,7 +118,7 @@ CONFIG_DEFAULT_AS=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="anticipatory"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 # CONFIG_FREEZER is not set
 
 #
diff --git a/arch/sh/configs/edosk7760_defconfig b/arch/sh/configs/edosk7760_defconfig
index 1580068..f75b8b1 100644
--- a/arch/sh/configs/edosk7760_defconfig
+++ b/arch/sh/configs/edosk7760_defconfig
@@ -120,7 +120,7 @@ CONFIG_IOSCHED_CFQ=y
 CONFIG_DEFAULT_CFQ=y
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="cfq"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 # CONFIG_FREEZER is not set
 
 #
diff --git a/arch/sh/configs/hp6xx_defconfig b/arch/sh/configs/hp6xx_defconfig
index 1032b23..34e8004 100644
--- a/arch/sh/configs/hp6xx_defconfig
+++ b/arch/sh/configs/hp6xx_defconfig
@@ -107,7 +107,7 @@ CONFIG_DEFAULT_AS=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="anticipatory"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 CONFIG_FREEZER=y
 
 #
diff --git a/arch/sh/configs/landisk_defconfig b/arch/sh/configs/landisk_defconfig
index b82dfb4..c4df0ea 100644
--- a/arch/sh/configs/landisk_defconfig
+++ b/arch/sh/configs/landisk_defconfig
@@ -115,7 +115,7 @@ CONFIG_DEFAULT_AS=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="anticipatory"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 # CONFIG_FREEZER is not set
 
 #
diff --git a/arch/sh/configs/lboxre2_defconfig b/arch/sh/configs/lboxre2_defconfig
index c3ecedf..a1e1ddc 100644
--- a/arch/sh/configs/lboxre2_defconfig
+++ b/arch/sh/configs/lboxre2_defconfig
@@ -115,7 +115,7 @@ CONFIG_DEFAULT_AS=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="anticipatory"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 # CONFIG_FREEZER is not set
 
 #
diff --git a/arch/sh/configs/magicpanelr2_defconfig b/arch/sh/configs/magicpanelr2_defconfig
index 499ed72..21ecff4 100644
--- a/arch/sh/configs/magicpanelr2_defconfig
+++ b/arch/sh/configs/magicpanelr2_defconfig
@@ -118,7 +118,7 @@ CONFIG_IOSCHED_NOOP=y
 # CONFIG_DEFAULT_CFQ is not set
 CONFIG_DEFAULT_NOOP=y
 CONFIG_DEFAULT_IOSCHED="noop"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 # CONFIG_FREEZER is not set
 
 #
diff --git a/arch/sh/configs/microdev_defconfig b/arch/sh/configs/microdev_defconfig
index b8ada8c..df13cc8 100644
--- a/arch/sh/configs/microdev_defconfig
+++ b/arch/sh/configs/microdev_defconfig
@@ -109,7 +109,7 @@ CONFIG_DEFAULT_AS=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="anticipatory"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 # CONFIG_FREEZER is not set
 
 #
diff --git a/arch/sh/configs/migor_defconfig b/arch/sh/configs/migor_defconfig
index 30cac42..bc55c93 100644
--- a/arch/sh/configs/migor_defconfig
+++ b/arch/sh/configs/migor_defconfig
@@ -116,7 +116,7 @@ CONFIG_DEFAULT_AS=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="anticipatory"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 # CONFIG_FREEZER is not set
 
 #
diff --git a/arch/sh/configs/r7780mp_defconfig b/arch/sh/configs/r7780mp_defconfig
index 2e65149..74fbca9 100644
--- a/arch/sh/configs/r7780mp_defconfig
+++ b/arch/sh/configs/r7780mp_defconfig
@@ -124,7 +124,7 @@ CONFIG_IOSCHED_NOOP=y
 # CONFIG_DEFAULT_CFQ is not set
 CONFIG_DEFAULT_NOOP=y
 CONFIG_DEFAULT_IOSCHED="noop"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 # CONFIG_FREEZER is not set
 
 #
diff --git a/arch/sh/configs/r7785rp_defconfig b/arch/sh/configs/r7785rp_defconfig
index 043a8a5..c48b46f 100644
--- a/arch/sh/configs/r7785rp_defconfig
+++ b/arch/sh/configs/r7785rp_defconfig
@@ -125,7 +125,7 @@ CONFIG_IOSCHED_NOOP=y
 # CONFIG_DEFAULT_CFQ is not set
 CONFIG_DEFAULT_NOOP=y
 CONFIG_DEFAULT_IOSCHED="noop"
-# CONFIG_CLASSIC_RCU is not set
+# CONFIG_TREE_RCU is not set
 # CONFIG_FREEZER is not set
 
 #
diff --git a/arch/sh/configs/rsk7203_defconfig b/arch/sh/configs/rsk7203_defconfig
index 85b0ac4..4d7856b 100644
--- a/arch/sh/configs/rsk7203_defconfig
+++ b/arch/sh/configs/rsk7203_defconfig
@@ -117,7 +117,7 @@ CONFIG_IOSCHED_NOOP=y
 # CONFIG_DEFAULT_CFQ is not set
 CONFIG_DEFAULT_NOOP=y
 CONFIG_DEFAULT_IOSCHED="noop"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 # CONFIG_FREEZER is not set
 
 #
diff --git a/arch/sh/configs/rts7751r2d1_defconfig b/arch/sh/configs/rts7751r2d1_defconfig
index 7d2a9e8..b3be632 100644
--- a/arch/sh/configs/rts7751r2d1_defconfig
+++ b/arch/sh/configs/rts7751r2d1_defconfig
@@ -116,7 +116,7 @@ CONFIG_DEFAULT_AS=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="anticipatory"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 # CONFIG_FREEZER is not set
 
 #
diff --git a/arch/sh/configs/rts7751r2dplus_defconfig b/arch/sh/configs/rts7751r2dplus_defconfig
index f680d3e..d0f85f4 100644
--- a/arch/sh/configs/rts7751r2dplus_defconfig
+++ b/arch/sh/configs/rts7751r2dplus_defconfig
@@ -116,7 +116,7 @@ CONFIG_DEFAULT_AS=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="anticipatory"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 # CONFIG_FREEZER is not set
 
 #
diff --git a/arch/sh/configs/rts7751r2dplus_qemu_defconfig b/arch/sh/configs/rts7751r2dplus_qemu_defconfig
index ae8f630..2141acf 100644
--- a/arch/sh/configs/rts7751r2dplus_qemu_defconfig
+++ b/arch/sh/configs/rts7751r2dplus_qemu_defconfig
@@ -120,7 +120,7 @@ CONFIG_DEFAULT_AS=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="anticipatory"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 # CONFIG_FREEZER is not set
 
 #
diff --git a/arch/sh/configs/sdk7780_defconfig b/arch/sh/configs/sdk7780_defconfig
index 543287b..48883e1 100644
--- a/arch/sh/configs/sdk7780_defconfig
+++ b/arch/sh/configs/sdk7780_defconfig
@@ -120,7 +120,7 @@ CONFIG_DEFAULT_AS=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="anticipatory"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 # CONFIG_FREEZER is not set
 
 #
diff --git a/arch/sh/configs/se7206_defconfig b/arch/sh/configs/se7206_defconfig
index 25717ff..c58a94c 100644
--- a/arch/sh/configs/se7206_defconfig
+++ b/arch/sh/configs/se7206_defconfig
@@ -127,7 +127,7 @@ CONFIG_IOSCHED_NOOP=y
 # CONFIG_DEFAULT_CFQ is not set
 CONFIG_DEFAULT_NOOP=y
 CONFIG_DEFAULT_IOSCHED="noop"
-# CONFIG_CLASSIC_RCU is not set
+# CONFIG_TREE_RCU is not set
 # CONFIG_FREEZER is not set
 
 #
diff --git a/arch/sh/configs/se7343_defconfig b/arch/sh/configs/se7343_defconfig
index 075f42e..a8d6f21 100644
--- a/arch/sh/configs/se7343_defconfig
+++ b/arch/sh/configs/se7343_defconfig
@@ -117,7 +117,7 @@ CONFIG_DEFAULT_DEADLINE=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="deadline"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 # CONFIG_FREEZER is not set
 
 #
diff --git a/arch/sh/configs/se7619_defconfig b/arch/sh/configs/se7619_defconfig
index db9cacd..7c7aa4c 100644
--- a/arch/sh/configs/se7619_defconfig
+++ b/arch/sh/configs/se7619_defconfig
@@ -95,7 +95,7 @@ CONFIG_IOSCHED_NOOP=y
 # CONFIG_DEFAULT_CFQ is not set
 CONFIG_DEFAULT_NOOP=y
 CONFIG_DEFAULT_IOSCHED="noop"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 # CONFIG_FREEZER is not set
 
 #
diff --git a/arch/sh/configs/se7705_defconfig b/arch/sh/configs/se7705_defconfig
index d88190f..02940ae 100644
--- a/arch/sh/configs/se7705_defconfig
+++ b/arch/sh/configs/se7705_defconfig
@@ -109,7 +109,7 @@ CONFIG_DEFAULT_AS=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="anticipatory"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 # CONFIG_FREEZER is not set
 
 #
diff --git a/arch/sh/configs/se7712_defconfig b/arch/sh/configs/se7712_defconfig
index 869ab17..1e9eb57 100644
--- a/arch/sh/configs/se7712_defconfig
+++ b/arch/sh/configs/se7712_defconfig
@@ -114,7 +114,7 @@ CONFIG_IOSCHED_NOOP=y
 # CONFIG_DEFAULT_CFQ is not set
 CONFIG_DEFAULT_NOOP=y
 CONFIG_DEFAULT_IOSCHED="noop"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 # CONFIG_FREEZER is not set
 
 #
diff --git a/arch/sh/configs/se7721_defconfig b/arch/sh/configs/se7721_defconfig
index b52be14..ae8094b 100644
--- a/arch/sh/configs/se7721_defconfig
+++ b/arch/sh/configs/se7721_defconfig
@@ -118,7 +118,7 @@ CONFIG_IOSCHED_NOOP=y
 # CONFIG_DEFAULT_CFQ is not set
 CONFIG_DEFAULT_NOOP=y
 CONFIG_DEFAULT_IOSCHED="noop"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 # CONFIG_FREEZER is not set
 
 #
diff --git a/arch/sh/configs/se7722_defconfig b/arch/sh/configs/se7722_defconfig
index e6df51f..04a3bf6 100644
--- a/arch/sh/configs/se7722_defconfig
+++ b/arch/sh/configs/se7722_defconfig
@@ -121,7 +121,7 @@ CONFIG_IOSCHED_NOOP=y
 # CONFIG_DEFAULT_CFQ is not set
 CONFIG_DEFAULT_NOOP=y
 CONFIG_DEFAULT_IOSCHED="noop"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 # CONFIG_FREEZER is not set
 
 #
diff --git a/arch/sh/configs/se7750_defconfig b/arch/sh/configs/se7750_defconfig
index a577099..21ddf9e 100644
--- a/arch/sh/configs/se7750_defconfig
+++ b/arch/sh/configs/se7750_defconfig
@@ -115,7 +115,7 @@ CONFIG_DEFAULT_AS=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="anticipatory"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 # CONFIG_FREEZER is not set
 
 #
diff --git a/arch/sh/configs/se7751_defconfig b/arch/sh/configs/se7751_defconfig
index d99a6bd..26f1826 100644
--- a/arch/sh/configs/se7751_defconfig
+++ b/arch/sh/configs/se7751_defconfig
@@ -115,7 +115,7 @@ CONFIG_DEFAULT_AS=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="anticipatory"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 # CONFIG_FREEZER is not set
 
 #
diff --git a/arch/sh/configs/se7780_defconfig b/arch/sh/configs/se7780_defconfig
index ad95b80..4638101 100644
--- a/arch/sh/configs/se7780_defconfig
+++ b/arch/sh/configs/se7780_defconfig
@@ -110,7 +110,7 @@ CONFIG_DEFAULT_DEADLINE=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="deadline"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 # CONFIG_FREEZER is not set
 
 #
diff --git a/arch/sh/configs/sh03_defconfig b/arch/sh/configs/sh03_defconfig
index 95f0f5d..40315df 100644
--- a/arch/sh/configs/sh03_defconfig
+++ b/arch/sh/configs/sh03_defconfig
@@ -119,7 +119,7 @@ CONFIG_DEFAULT_AS=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="anticipatory"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 # CONFIG_FREEZER is not set
 
 #
diff --git a/arch/sh/configs/sh7710voipgw_defconfig b/arch/sh/configs/sh7710voipgw_defconfig
index 9a768b2..d7713df 100644
--- a/arch/sh/configs/sh7710voipgw_defconfig
+++ b/arch/sh/configs/sh7710voipgw_defconfig
@@ -117,7 +117,7 @@ CONFIG_DEFAULT_DEADLINE=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="deadline"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 # CONFIG_FREEZER is not set
 
 #
diff --git a/arch/sh/configs/sh7763rdp_defconfig b/arch/sh/configs/sh7763rdp_defconfig
index 6a77f69..59c868a 100644
--- a/arch/sh/configs/sh7763rdp_defconfig
+++ b/arch/sh/configs/sh7763rdp_defconfig
@@ -123,7 +123,7 @@ CONFIG_DEFAULT_AS=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="anticipatory"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 # CONFIG_FREEZER is not set
 
 #
diff --git a/arch/sh/configs/sh7785lcr_defconfig b/arch/sh/configs/sh7785lcr_defconfig
index 07e33c2..4da3419 100644
--- a/arch/sh/configs/sh7785lcr_defconfig
+++ b/arch/sh/configs/sh7785lcr_defconfig
@@ -126,7 +126,7 @@ CONFIG_IOSCHED_CFQ=y
 CONFIG_DEFAULT_CFQ=y
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="cfq"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 # CONFIG_FREEZER is not set
 
 #
diff --git a/arch/sh/configs/shmin_defconfig b/arch/sh/configs/shmin_defconfig
index e2b38a3..d00078f 100644
--- a/arch/sh/configs/shmin_defconfig
+++ b/arch/sh/configs/shmin_defconfig
@@ -99,7 +99,7 @@ CONFIG_IOSCHED_NOOP=y
 # CONFIG_DEFAULT_CFQ is not set
 CONFIG_DEFAULT_NOOP=y
 CONFIG_DEFAULT_IOSCHED="noop"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 # CONFIG_FREEZER is not set
 
 #
diff --git a/arch/sh/configs/shx3_defconfig b/arch/sh/configs/shx3_defconfig
index ae5cbe2..d818bc7 100644
--- a/arch/sh/configs/shx3_defconfig
+++ b/arch/sh/configs/shx3_defconfig
@@ -142,7 +142,7 @@ CONFIG_DEFAULT_AS=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="anticipatory"
-# CONFIG_CLASSIC_RCU is not set
+# CONFIG_TREE_RCU is not set
 CONFIG_FREEZER=y
 
 #
diff --git a/arch/sh/configs/snapgear_defconfig b/arch/sh/configs/snapgear_defconfig
index b4ca511..cb3721b 100644
--- a/arch/sh/configs/snapgear_defconfig
+++ b/arch/sh/configs/snapgear_defconfig
@@ -108,7 +108,7 @@ CONFIG_DEFAULT_AS=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="anticipatory"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 # CONFIG_FREEZER is not set
 
 #
diff --git a/arch/sh/configs/systemh_defconfig b/arch/sh/configs/systemh_defconfig
index 1711f0f..5e379ac 100644
--- a/arch/sh/configs/systemh_defconfig
+++ b/arch/sh/configs/systemh_defconfig
@@ -112,7 +112,7 @@ CONFIG_DEFAULT_AS=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="anticipatory"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 # CONFIG_FREEZER is not set
 
 #
diff --git a/arch/sh/configs/titan_defconfig b/arch/sh/configs/titan_defconfig
index ea3c5e8..8b2d940 100644
--- a/arch/sh/configs/titan_defconfig
+++ b/arch/sh/configs/titan_defconfig
@@ -118,7 +118,7 @@ CONFIG_DEFAULT_AS=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="anticipatory"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 # CONFIG_FREEZER is not set
 
 #
diff --git a/arch/sh/configs/ul2_defconfig b/arch/sh/configs/ul2_defconfig
index 9afff67..7da83b1 100644
--- a/arch/sh/configs/ul2_defconfig
+++ b/arch/sh/configs/ul2_defconfig
@@ -120,7 +120,7 @@ CONFIG_IOSCHED_NOOP=y
 # CONFIG_DEFAULT_CFQ is not set
 CONFIG_DEFAULT_NOOP=y
 CONFIG_DEFAULT_IOSCHED="noop"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 # CONFIG_FREEZER is not set
 
 #
-- 
1.5.2.5


^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [PATCH -tip] Switch x86 defconfig from CONFIG_CLASSIC_RCU to CONFIG_TREE_RCU.
  2008-12-23  0:12 [PATCH -tip] Change default from CLASSIC_RCU to TREE_RCU (testing only) paulmck
                   ` (10 preceding siblings ...)
  2008-12-23  0:12 ` [PATCH -tip] Switch sh " paulmck
@ 2008-12-23  0:12 ` paulmck
  11 siblings, 0 replies; 27+ messages in thread
From: paulmck @ 2008-12-23  0:12 UTC (permalink / raw)
  To: linux-kernel
  Cc: mingo, tglx, akpm, ralf, kernel, hskinnemoen, cooloney, tony.luck,
	geert, zippel, jwboyer, mporter, grant.likely, paulus, benh,
	dhowells, yasutake.koichi, lethal, hpa, Paul E. McKenney

From: Paul E. McKenney <paulmck@linux.vnet.ibm.com>

Only for testing in -tip and -next, not yet for inclusion into mainline.

Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
---
 arch/x86/configs/i386_defconfig   |    2 +-
 arch/x86/configs/x86_64_defconfig |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/x86/configs/i386_defconfig b/arch/x86/configs/i386_defconfig
index 13b8c86..bfb15bf 100644
--- a/arch/x86/configs/i386_defconfig
+++ b/arch/x86/configs/i386_defconfig
@@ -176,7 +176,7 @@ CONFIG_IOSCHED_CFQ=y
 CONFIG_DEFAULT_CFQ=y
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="cfq"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 
 #
 # Processor type and features
diff --git a/arch/x86/configs/x86_64_defconfig b/arch/x86/configs/x86_64_defconfig
index f0a03d7..bf9d3f5 100644
--- a/arch/x86/configs/x86_64_defconfig
+++ b/arch/x86/configs/x86_64_defconfig
@@ -175,7 +175,7 @@ CONFIG_IOSCHED_CFQ=y
 CONFIG_DEFAULT_CFQ=y
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="cfq"
-CONFIG_CLASSIC_RCU=y
+CONFIG_TREE_RCU=y
 
 #
 # Processor type and features
-- 
1.5.2.5


^ permalink raw reply related	[flat|nested] 27+ messages in thread

* Re: [PATCH -tip] Switch arm defconfig files from CONFIG_CLASSIC_RCU to CONFIG_TREE_RCU.
  2008-12-23  0:12 ` [PATCH -tip] Switch arm defconfig files from CONFIG_CLASSIC_RCU to CONFIG_TREE_RCU paulmck
@ 2008-12-23 14:25   ` Ingo Molnar
  2008-12-23 21:59     ` Paul E. McKenney
  2008-12-25  8:36     ` [PATCH -tip] Switch arm defconfig files from CONFIG_CLASSIC_RCU to CONFIG_TREE_RCU Ingo Molnar
  0 siblings, 2 replies; 27+ messages in thread
From: Ingo Molnar @ 2008-12-23 14:25 UTC (permalink / raw)
  To: paulmck
  Cc: linux-kernel, tglx, akpm, ralf, kernel, hskinnemoen, cooloney,
	tony.luck, geert, zippel, jwboyer, mporter, grant.likely, paulus,
	benh, dhowells, yasutake.koichi, lethal, hpa


* paulmck@linux.vnet.ibm.com <paulmck@linux.vnet.ibm.com> wrote:

> From: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
> 
> Only for testing in -tip and -next, not yet for inclusion into mainline.
> 
> Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
> ---
>  arch/arm/configs/afeb9260_defconfig     |    2 +-
>  arch/arm/configs/am200epdkit_defconfig  |    2 +-
>  arch/arm/configs/cm_x300_defconfig      |    2 +-
>  arch/arm/configs/corgi_defconfig        |    2 +-
>  arch/arm/configs/csb637_defconfig       |    2 +-
>  arch/arm/configs/eseries_pxa_defconfig  |    2 +-
>  arch/arm/configs/ezx_defconfig          |    2 +-
>  arch/arm/configs/imx27ads_defconfig     |    2 +-
>  arch/arm/configs/jornada720_defconfig   |    2 +-
>  arch/arm/configs/kirkwood_defconfig     |    2 +-
>  arch/arm/configs/loki_defconfig         |    2 +-
>  arch/arm/configs/magician_defconfig     |    2 +-
>  arch/arm/configs/mv78xx0_defconfig      |    2 +-
>  arch/arm/configs/mx31ads_defconfig      |    2 +-
>  arch/arm/configs/mx31litekit_defconfig  |    2 +-
>  arch/arm/configs/omap3_beagle_defconfig |    2 +-
>  arch/arm/configs/omap_h2_1610_defconfig |    2 +-
>  arch/arm/configs/omap_ldp_defconfig     |    2 +-
>  arch/arm/configs/orion5x_defconfig      |    2 +-
>  arch/arm/configs/overo_defconfig        |    2 +-
>  arch/arm/configs/palmz72_defconfig      |    2 +-
>  arch/arm/configs/pcm037_defconfig       |    2 +-
>  arch/arm/configs/pcm038_defconfig       |    2 +-
>  arch/arm/configs/s3c2410_defconfig      |    2 +-
>  arch/arm/configs/spitz_defconfig        |    2 +-
>  arch/arm/configs/tct_hammer_defconfig   |    2 +-
>  arch/arm/configs/viper_defconfig        |    2 +-
>  arch/arm/configs/xm_x2xx_defconfig      |    2 +-
>  28 files changed, 28 insertions(+), 28 deletions(-)

ouch!

There's a much more shrewd method to achieve the same, via 2 lines total 
patch:

Change the name of CONFIG_CLASSIC_RCU to something else such as 
CONFIG_FLAT_RCU. That does all the magic and more: all configs will 
default to tree-rcu - not just defconfigs! Agreed?

[ I think the gene of laziness is probably more developed in my genome
  than in yours. It is a very useful trait ;-) ]

	Ingo

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH -tip] Switch arm defconfig files from CONFIG_CLASSIC_RCU to CONFIG_TREE_RCU.
  2008-12-23 14:25   ` Ingo Molnar
@ 2008-12-23 21:59     ` Paul E. McKenney
  2008-12-23 22:03       ` [PATCH, -tip] Remove redundant RCU_CPU_STALL_DETECTOR declaration Paul E. McKenney
  2008-12-25  8:36     ` [PATCH -tip] Switch arm defconfig files from CONFIG_CLASSIC_RCU to CONFIG_TREE_RCU Ingo Molnar
  1 sibling, 1 reply; 27+ messages in thread
From: Paul E. McKenney @ 2008-12-23 21:59 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, tglx, akpm, ralf, kernel, hskinnemoen, cooloney,
	tony.luck, geert, zippel, jwboyer, mporter, grant.likely, paulus,
	benh, dhowells, yasutake.koichi, lethal, hpa

On Tue, Dec 23, 2008 at 03:25:42PM +0100, Ingo Molnar wrote:
> 
> * paulmck@linux.vnet.ibm.com <paulmck@linux.vnet.ibm.com> wrote:
> 
> > From: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
> > 
> > Only for testing in -tip and -next, not yet for inclusion into mainline.
> > 
> > Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
> > ---
> >  arch/arm/configs/afeb9260_defconfig     |    2 +-
> >  arch/arm/configs/am200epdkit_defconfig  |    2 +-
> >  arch/arm/configs/cm_x300_defconfig      |    2 +-
> >  arch/arm/configs/corgi_defconfig        |    2 +-
> >  arch/arm/configs/csb637_defconfig       |    2 +-
> >  arch/arm/configs/eseries_pxa_defconfig  |    2 +-
> >  arch/arm/configs/ezx_defconfig          |    2 +-
> >  arch/arm/configs/imx27ads_defconfig     |    2 +-
> >  arch/arm/configs/jornada720_defconfig   |    2 +-
> >  arch/arm/configs/kirkwood_defconfig     |    2 +-
> >  arch/arm/configs/loki_defconfig         |    2 +-
> >  arch/arm/configs/magician_defconfig     |    2 +-
> >  arch/arm/configs/mv78xx0_defconfig      |    2 +-
> >  arch/arm/configs/mx31ads_defconfig      |    2 +-
> >  arch/arm/configs/mx31litekit_defconfig  |    2 +-
> >  arch/arm/configs/omap3_beagle_defconfig |    2 +-
> >  arch/arm/configs/omap_h2_1610_defconfig |    2 +-
> >  arch/arm/configs/omap_ldp_defconfig     |    2 +-
> >  arch/arm/configs/orion5x_defconfig      |    2 +-
> >  arch/arm/configs/overo_defconfig        |    2 +-
> >  arch/arm/configs/palmz72_defconfig      |    2 +-
> >  arch/arm/configs/pcm037_defconfig       |    2 +-
> >  arch/arm/configs/pcm038_defconfig       |    2 +-
> >  arch/arm/configs/s3c2410_defconfig      |    2 +-
> >  arch/arm/configs/spitz_defconfig        |    2 +-
> >  arch/arm/configs/tct_hammer_defconfig   |    2 +-
> >  arch/arm/configs/viper_defconfig        |    2 +-
> >  arch/arm/configs/xm_x2xx_defconfig      |    2 +-
> >  28 files changed, 28 insertions(+), 28 deletions(-)
> 
> ouch!
> 
> There's a much more shrewd method to achieve the same, via 2 lines total 
> patch:
> 
> Change the name of CONFIG_CLASSIC_RCU to something else such as 
> CONFIG_FLAT_RCU. That does all the magic and more: all configs will 
> default to tree-rcu - not just defconfigs! Agreed?

Good point!

> [ I think the gene of laziness is probably more developed in my genome
>   than in yours. It is a very useful trait ;-) ]

Lazy or not, your approach is much better than what I was doing.  ;-)

Two patches in subsequent emails: the first gets rid of a duplicate
RCU_CPU_STALL_DETECTOR config declaration (noticed in this exercise --
one each from the CLASSIC_RCU and TREE_RCU stall detectors), and the
second changes the default to TREE_RCU as you suggest.

							Thanx, Paul

^ permalink raw reply	[flat|nested] 27+ messages in thread

* [PATCH, -tip] Remove redundant RCU_CPU_STALL_DETECTOR declaration
  2008-12-23 21:59     ` Paul E. McKenney
@ 2008-12-23 22:03       ` Paul E. McKenney
  2008-12-23 22:06         ` [PATCH, -tip] Make hierarchical RCU be the default Paul E. McKenney
  0 siblings, 1 reply; 27+ messages in thread
From: Paul E. McKenney @ 2008-12-23 22:03 UTC (permalink / raw)
  To: linux-kernel
  Cc: mingo, tglx, akpm, ralf, kernel, hskinnemoen, cooloney, tony.luck,
	geert, zippel, jwboyer, mporter, grant.likely, paulus, benh,
	dhowells, yasutake.koichi, lethal, hpa

This patch removes the redundant RCU_CPU_STALL_DETECTOR Kconfig
parameter.  We got one from the classic RCU detector and the other
from the hierarchical RCU detector, this patch merges them.

This patch is suitable for inclusion.

Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
---

 lib/Kconfig.debug |   13 -------------
 1 files changed, 0 insertions(+), 13 deletions(-)

diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index 465d822..8bae51a 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -608,19 +608,6 @@ config RCU_TORTURE_TEST_RUNNABLE
 
 config RCU_CPU_STALL_DETECTOR
 	bool "Check for stalled CPUs delaying RCU grace periods"
-	depends on CLASSIC_RCU
-	default n
-	help
-	  This option causes RCU to printk information on which
-	  CPUs are delaying the current grace period, but only when
-	  the grace period extends for excessive time periods.
-
-	  Say Y if you want RCU to perform such checks.
-
-	  Say N if you are unsure.
-
-config RCU_CPU_STALL_DETECTOR
-	bool "Check for stalled CPUs delaying RCU grace periods"
 	depends on CLASSIC_RCU || TREE_RCU
 	default n
 	help
-- 
1.5.2.5


^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [PATCH, -tip] Make hierarchical RCU be the default
  2008-12-23 22:03       ` [PATCH, -tip] Remove redundant RCU_CPU_STALL_DETECTOR declaration Paul E. McKenney
@ 2008-12-23 22:06         ` Paul E. McKenney
  2008-12-27 10:35           ` Ingo Molnar
  0 siblings, 1 reply; 27+ messages in thread
From: Paul E. McKenney @ 2008-12-23 22:06 UTC (permalink / raw)
  To: linux-kernel
  Cc: mingo, tglx, akpm, ralf, kernel, hskinnemoen, cooloney, tony.luck,
	geert, zippel, jwboyer, mporter, grant.likely, paulus, benh,
	dhowells, yasutake.koichi, lethal, hpa

This patch makes the new TREE_RCU be the default, pointing the old
CLASSIC_RCU Kconfig symbol at it and introducing a new FLAT_RCU symbol
to allow the old version to be selected.

This patch is -not- yet suitable for inclusion, only for testing in
-tip, -next, and the like.

Suggested-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
---

 include/linux/hardirq.h  |    4 ++--
 include/linux/pagemap.h  |    4 ++--
 include/linux/rcupdate.h |    4 ++--
 kernel/Kconfig.preempt   |   19 +++++++++++++++----
 kernel/Makefile          |    2 +-
 lib/Kconfig.debug        |    2 +-
 6 files changed, 23 insertions(+), 12 deletions(-)

diff --git a/include/linux/hardirq.h b/include/linux/hardirq.h
index 9b70b92..0afd180 100644
--- a/include/linux/hardirq.h
+++ b/include/linux/hardirq.h
@@ -118,7 +118,7 @@ static inline void account_system_vtime(struct task_struct *tsk)
 }
 #endif
 
-#if defined(CONFIG_NO_HZ) && !defined(CONFIG_CLASSIC_RCU)
+#if defined(CONFIG_NO_HZ) && !defined(CONFIG_FLAT_RCU)
 extern void rcu_irq_enter(void);
 extern void rcu_irq_exit(void);
 extern void rcu_nmi_enter(void);
@@ -128,7 +128,7 @@ extern void rcu_nmi_exit(void);
 # define rcu_irq_exit() do { } while (0)
 # define rcu_nmi_enter() do { } while (0)
 # define rcu_nmi_exit() do { } while (0)
-#endif /* #if defined(CONFIG_NO_HZ) && !defined(CONFIG_CLASSIC_RCU) */
+#endif /* #if defined(CONFIG_NO_HZ) && !defined(CONFIG_FLAT_RCU) */
 
 /*
  * It is safe to do non-atomic ops on ->hardirq_context,
diff --git a/include/linux/pagemap.h b/include/linux/pagemap.h
index 709742b..5cfb133 100644
--- a/include/linux/pagemap.h
+++ b/include/linux/pagemap.h
@@ -140,7 +140,7 @@ static inline int page_cache_get_speculative(struct page *page)
 {
 	VM_BUG_ON(in_interrupt());
 
-#if !defined(CONFIG_SMP) && defined(CONFIG_CLASSIC_RCU)
+#if !defined(CONFIG_SMP) && defined(CONFIG_FLAT_RCU)
 # ifdef CONFIG_PREEMPT
 	VM_BUG_ON(!in_atomic());
 # endif
@@ -178,7 +178,7 @@ static inline int page_cache_add_speculative(struct page *page, int count)
 {
 	VM_BUG_ON(in_interrupt());
 
-#if !defined(CONFIG_SMP) && defined(CONFIG_CLASSIC_RCU)
+#if !defined(CONFIG_SMP) && defined(CONFIG_FLAT_RCU)
 # ifdef CONFIG_PREEMPT
 	VM_BUG_ON(!in_atomic());
 # endif
diff --git a/include/linux/rcupdate.h b/include/linux/rcupdate.h
index bfd289a..819bf83 100644
--- a/include/linux/rcupdate.h
+++ b/include/linux/rcupdate.h
@@ -52,7 +52,7 @@ struct rcu_head {
 	void (*func)(struct rcu_head *head);
 };
 
-#if defined(CONFIG_CLASSIC_RCU)
+#if defined(CONFIG_FLAT_RCU)
 #include <linux/rcuclassic.h>
 #elif defined(CONFIG_TREE_RCU)
 #include <linux/rcutree.h>
@@ -60,7 +60,7 @@ struct rcu_head {
 #include <linux/rcupreempt.h>
 #else
 #error "Unknown RCU implementation specified to kernel configuration"
-#endif /* #else #if defined(CONFIG_CLASSIC_RCU) */
+#endif /* #else #if defined(CONFIG_FLAT_RCU) */
 
 #define RCU_HEAD_INIT 	{ .next = NULL, .func = NULL }
 #define RCU_HEAD(head) struct rcu_head head = RCU_HEAD_INIT
diff --git a/kernel/Kconfig.preempt b/kernel/Kconfig.preempt
index 463f297..417a76b 100644
--- a/kernel/Kconfig.preempt
+++ b/kernel/Kconfig.preempt
@@ -52,16 +52,27 @@ config PREEMPT
 
 endchoice
 
+config CLASSIC_RCU
+	bool "Select default RCU implementation"
+	select TREE_RCU
+	help
+	  This option provides backwards compatibility for old defconfig
+	  files that used CLASSIC_RCU.
+
+	  Say Y if you are unsure.
+
 choice
 	prompt "RCU Implementation"
-	default CLASSIC_RCU
+	default TREE_RCU
 
-config CLASSIC_RCU
-	bool "Classic RCU"
+config FLAT_RCU
+	bool "Flat (AKA classic) RCU"
 	help
 	  This option selects the classic RCU implementation that is
 	  designed for best read-side performance on non-realtime
-	  systems.
+	  systems with modest numbers of CPUs.  Its flat bit-map
+	  implementation makes it unsuitable for systems with hundreds
+	  or thousands of CPUs.
 	  
 	  Select this option if you are unsure.
 
diff --git a/kernel/Makefile b/kernel/Makefile
index b4fdbbf..73e9a94 100644
--- a/kernel/Makefile
+++ b/kernel/Makefile
@@ -73,7 +73,7 @@ obj-$(CONFIG_DETECT_SOFTLOCKUP) += softlockup.o
 obj-$(CONFIG_GENERIC_HARDIRQS) += irq/
 obj-$(CONFIG_SECCOMP) += seccomp.o
 obj-$(CONFIG_RCU_TORTURE_TEST) += rcutorture.o
-obj-$(CONFIG_CLASSIC_RCU) += rcuclassic.o
+obj-$(CONFIG_FLAT_RCU) += rcuclassic.o
 obj-$(CONFIG_TREE_RCU) += rcutree.o
 obj-$(CONFIG_PREEMPT_RCU) += rcupreempt.o
 obj-$(CONFIG_TREE_RCU_TRACE) += rcutree_trace.o
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index 8bae51a..7739ad8 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -608,7 +608,7 @@ config RCU_TORTURE_TEST_RUNNABLE
 
 config RCU_CPU_STALL_DETECTOR
 	bool "Check for stalled CPUs delaying RCU grace periods"
-	depends on CLASSIC_RCU || TREE_RCU
+	depends on TREE_RCU || FLAT_RCU
 	default n
 	help
 	  This option causes RCU to printk information on which
-- 
1.5.2.5


^ permalink raw reply related	[flat|nested] 27+ messages in thread

* Re: [PATCH -tip] Switch arm defconfig files from CONFIG_CLASSIC_RCU to CONFIG_TREE_RCU.
  2008-12-23 14:25   ` Ingo Molnar
  2008-12-23 21:59     ` Paul E. McKenney
@ 2008-12-25  8:36     ` Ingo Molnar
  2008-12-25  9:33       ` Sam Ravnborg
  2008-12-25 18:46       ` Paul E. McKenney
  1 sibling, 2 replies; 27+ messages in thread
From: Ingo Molnar @ 2008-12-25  8:36 UTC (permalink / raw)
  To: paulmck
  Cc: linux-kernel, tglx, akpm, ralf, kernel, hskinnemoen, cooloney,
	tony.luck, geert, zippel, jwboyer, mporter, grant.likely, paulus,
	benh, dhowells, yasutake.koichi, lethal, hpa


below is the fix for another small buglet that hits architectures that do 
not include kernel/Kconfig.preempt.

	Ingo

--------------->
>From 12d79bafb75639f406a9f71aab94808c414c836e Mon Sep 17 00:00:00 2001
From: Ingo Molnar <mingo@elte.hu>
Date: Thu, 25 Dec 2008 09:31:28 +0100
Subject: [PATCH] rcu: provide RCU options on non-preempt architectures too

Impact: build fix

Some old architectures still do not use kernel/Kconfig.preempt, so the
moving of the RCU options there broke their build:

 In file included from /home/mingo/tip/include/linux/sem.h:81,
                 from /home/mingo/tip/include/linux/sched.h:69,
                 from /home/mingo/tip/arch/alpha/kernel/asm-offsets.c:9:
 /home/mingo/tip/include/linux/rcupdate.h:62:2: error: #error "Unknown RCU implementation specified to kernel configuration"

Move these options back to init/Kconfig, which every architecture
includes.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
---
 init/Kconfig           |   74 +++++++++++++++++++++++++++++++++++++++++++++++
 kernel/Kconfig.preempt |   75 ------------------------------------------------
 2 files changed, 74 insertions(+), 75 deletions(-)

diff --git a/init/Kconfig b/init/Kconfig
index 9dd7958..6b0fded 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -928,6 +928,80 @@ source "block/Kconfig"
 config PREEMPT_NOTIFIERS
 	bool
 
+choice
+	prompt "RCU Implementation"
+	default CLASSIC_RCU
+
+config CLASSIC_RCU
+	bool "Classic RCU"
+	help
+	  This option selects the classic RCU implementation that is
+	  designed for best read-side performance on non-realtime
+	  systems.
+
+	  Select this option if you are unsure.
+
+config TREE_RCU
+	bool "Tree-based hierarchical RCU"
+	help
+	  This option selects the RCU implementation that is
+	  designed for very large SMP system with hundreds or
+	  thousands of CPUs.
+
+config PREEMPT_RCU
+	bool "Preemptible RCU"
+	depends on PREEMPT
+	help
+	  This option reduces the latency of the kernel by making certain
+	  RCU sections preemptible. Normally RCU code is non-preemptible, if
+	  this option is selected then read-only RCU sections become
+	  preemptible. This helps latency, but may expose bugs due to
+	  now-naive assumptions about each RCU read-side critical section
+	  remaining on a given CPU through its execution.
+
+endchoice
+
+config RCU_TRACE
+	bool "Enable tracing for RCU"
+	depends on TREE_RCU || PREEMPT_RCU
+	help
+	  This option provides tracing in RCU which presents stats
+	  in debugfs for debugging RCU implementation.
+
+	  Say Y here if you want to enable RCU tracing
+	  Say N if you are unsure.
+
+config RCU_FANOUT
+	int "Tree-based hierarchical RCU fanout value"
+	range 2 64 if 64BIT
+	range 2 32 if !64BIT
+	depends on TREE_RCU
+	default 64 if 64BIT
+	default 32 if !64BIT
+	help
+	  This option controls the fanout of hierarchical implementations
+	  of RCU, allowing RCU to work efficiently on machines with
+	  large numbers of CPUs.  This value must be at least the cube
+	  root of NR_CPUS, which allows NR_CPUS up to 32,768 for 32-bit
+	  systems and up to 262,144 for 64-bit systems.
+
+	  Select a specific number if testing RCU itself.
+	  Take the default if unsure.
+
+config RCU_FANOUT_EXACT
+	bool "Disable tree-based hierarchical RCU auto-balancing"
+	depends on TREE_RCU
+	default n
+	help
+	  This option forces use of the exact RCU_FANOUT value specified,
+	  regardless of imbalances in the hierarchy.  This is useful for
+	  testing RCU itself, and might one day be useful on systems with
+	  strong NUMA behavior.
+
+	  Without RCU_FANOUT_EXACT, the code will balance the hierarchy.
+
+	  Say N if unsure.
+
 config TREE_RCU_TRACE
 	def_bool RCU_TRACE && TREE_RCU
 	select DEBUG_FS
diff --git a/kernel/Kconfig.preempt b/kernel/Kconfig.preempt
index 463f297..bf987b9 100644
--- a/kernel/Kconfig.preempt
+++ b/kernel/Kconfig.preempt
@@ -52,78 +52,3 @@ config PREEMPT
 
 endchoice
 
-choice
-	prompt "RCU Implementation"
-	default CLASSIC_RCU
-
-config CLASSIC_RCU
-	bool "Classic RCU"
-	help
-	  This option selects the classic RCU implementation that is
-	  designed for best read-side performance on non-realtime
-	  systems.
-	  
-	  Select this option if you are unsure.
-
-config TREE_RCU
-	bool "Tree-based hierarchical RCU"
-	help
-	  This option selects the RCU implementation that is
-	  designed for very large SMP system with hundreds or
-	  thousands of CPUs.
-
-config PREEMPT_RCU
-	bool "Preemptible RCU"
-	depends on PREEMPT
-	help
-	  This option reduces the latency of the kernel by making certain
-	  RCU sections preemptible. Normally RCU code is non-preemptible, if
-	  this option is selected then read-only RCU sections become
-	  preemptible. This helps latency, but may expose bugs due to
-	  now-naive assumptions about each RCU read-side critical section
-	  remaining on a given CPU through its execution.
-
-endchoice
-
-config RCU_TRACE
-	bool "Enable tracing for RCU"
-	depends on TREE_RCU || PREEMPT_RCU
-	help
-	  This option provides tracing in RCU which presents stats
-	  in debugfs for debugging RCU implementation.
-
-	  Say Y here if you want to enable RCU tracing
-	  Say N if you are unsure.
-
-config RCU_FANOUT
-	int "Tree-based hierarchical RCU fanout value"
-	range 2 64 if 64BIT
-	range 2 32 if !64BIT
-	depends on TREE_RCU
-	default 64 if 64BIT
-	default 32 if !64BIT
-	help
-	  This option controls the fanout of hierarchical implementations
-	  of RCU, allowing RCU to work efficiently on machines with
-	  large numbers of CPUs.  This value must be at least the cube
-	  root of NR_CPUS, which allows NR_CPUS up to 32,768 for 32-bit
-	  systems and up to 262,144 for 64-bit systems.
-
-	  Select a specific number if testing RCU itself.
-	  Take the default if unsure.
-
-config RCU_FANOUT_EXACT
-	bool "Disable tree-based hierarchical RCU auto-balancing"
-	depends on TREE_RCU
-	default n
-	help
-	  This option forces use of the exact RCU_FANOUT value specified,
-	  regardless of imbalances in the hierarchy.  This is useful for
-	  testing RCU itself, and might one day be useful on systems with
-	  strong NUMA behavior.
-
-	  Without RCU_FANOUT_EXACT, the code will balance the hierarchy.
-
-	  Say n if unsure.
-
-	

^ permalink raw reply related	[flat|nested] 27+ messages in thread

* Re: [PATCH -tip] Switch arm defconfig files from CONFIG_CLASSIC_RCU to CONFIG_TREE_RCU.
  2008-12-25  8:36     ` [PATCH -tip] Switch arm defconfig files from CONFIG_CLASSIC_RCU to CONFIG_TREE_RCU Ingo Molnar
@ 2008-12-25  9:33       ` Sam Ravnborg
  2008-12-25 19:23         ` Paul E. McKenney
  2008-12-26 14:22         ` Ingo Molnar
  2008-12-25 18:46       ` Paul E. McKenney
  1 sibling, 2 replies; 27+ messages in thread
From: Sam Ravnborg @ 2008-12-25  9:33 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: paulmck, linux-kernel, tglx, akpm, ralf, kernel, hskinnemoen,
	cooloney, tony.luck, geert, zippel, jwboyer, mporter,
	grant.likely, paulus, benh, dhowells, yasutake.koichi, lethal,
	hpa

On Thu, Dec 25, 2008 at 09:36:11AM +0100, Ingo Molnar wrote:
> 
> below is the fix for another small buglet that hits architectures that do 
> not include kernel/Kconfig.preempt.

What is needed to let all architectures include Kconfig.preempt?
We should not advertise preemption if not supported,
but we could do this by a simple Kconfig symbol:

config HAVE_PREEMPT
	bool

And let all architectures that supports preemption do:

config "ARCH"
	select HAVE_PREEMPT

But maybe there is a simpler solution

	Sam

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH -tip] Switch arm defconfig files from CONFIG_CLASSIC_RCU to CONFIG_TREE_RCU.
  2008-12-25  8:36     ` [PATCH -tip] Switch arm defconfig files from CONFIG_CLASSIC_RCU to CONFIG_TREE_RCU Ingo Molnar
  2008-12-25  9:33       ` Sam Ravnborg
@ 2008-12-25 18:46       ` Paul E. McKenney
  1 sibling, 0 replies; 27+ messages in thread
From: Paul E. McKenney @ 2008-12-25 18:46 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, tglx, akpm, ralf, kernel, hskinnemoen, cooloney,
	tony.luck, geert, zippel, jwboyer, mporter, grant.likely, paulus,
	benh, dhowells, yasutake.koichi, lethal, hpa

On Thu, Dec 25, 2008 at 09:36:11AM +0100, Ingo Molnar wrote:
> 
> below is the fix for another small buglet that hits architectures that do 
> not include kernel/Kconfig.preempt.

Hmmm...  Now that you mention it, I made a similar error some time back.
You would think that I would learn.  :-/

Thank you, and Merry Christmas!!!

							Thanx, Paul

> 	Ingo
> 
> --------------->
> >From 12d79bafb75639f406a9f71aab94808c414c836e Mon Sep 17 00:00:00 2001
> From: Ingo Molnar <mingo@elte.hu>
> Date: Thu, 25 Dec 2008 09:31:28 +0100
> Subject: [PATCH] rcu: provide RCU options on non-preempt architectures too
> 
> Impact: build fix
> 
> Some old architectures still do not use kernel/Kconfig.preempt, so the
> moving of the RCU options there broke their build:
> 
>  In file included from /home/mingo/tip/include/linux/sem.h:81,
>                  from /home/mingo/tip/include/linux/sched.h:69,
>                  from /home/mingo/tip/arch/alpha/kernel/asm-offsets.c:9:
>  /home/mingo/tip/include/linux/rcupdate.h:62:2: error: #error "Unknown RCU implementation specified to kernel configuration"
> 
> Move these options back to init/Kconfig, which every architecture
> includes.
> 
> Signed-off-by: Ingo Molnar <mingo@elte.hu>
> ---
>  init/Kconfig           |   74 +++++++++++++++++++++++++++++++++++++++++++++++
>  kernel/Kconfig.preempt |   75 ------------------------------------------------
>  2 files changed, 74 insertions(+), 75 deletions(-)
> 
> diff --git a/init/Kconfig b/init/Kconfig
> index 9dd7958..6b0fded 100644
> --- a/init/Kconfig
> +++ b/init/Kconfig
> @@ -928,6 +928,80 @@ source "block/Kconfig"
>  config PREEMPT_NOTIFIERS
>  	bool
> 
> +choice
> +	prompt "RCU Implementation"
> +	default CLASSIC_RCU
> +
> +config CLASSIC_RCU
> +	bool "Classic RCU"
> +	help
> +	  This option selects the classic RCU implementation that is
> +	  designed for best read-side performance on non-realtime
> +	  systems.
> +
> +	  Select this option if you are unsure.
> +
> +config TREE_RCU
> +	bool "Tree-based hierarchical RCU"
> +	help
> +	  This option selects the RCU implementation that is
> +	  designed for very large SMP system with hundreds or
> +	  thousands of CPUs.
> +
> +config PREEMPT_RCU
> +	bool "Preemptible RCU"
> +	depends on PREEMPT
> +	help
> +	  This option reduces the latency of the kernel by making certain
> +	  RCU sections preemptible. Normally RCU code is non-preemptible, if
> +	  this option is selected then read-only RCU sections become
> +	  preemptible. This helps latency, but may expose bugs due to
> +	  now-naive assumptions about each RCU read-side critical section
> +	  remaining on a given CPU through its execution.
> +
> +endchoice
> +
> +config RCU_TRACE
> +	bool "Enable tracing for RCU"
> +	depends on TREE_RCU || PREEMPT_RCU
> +	help
> +	  This option provides tracing in RCU which presents stats
> +	  in debugfs for debugging RCU implementation.
> +
> +	  Say Y here if you want to enable RCU tracing
> +	  Say N if you are unsure.
> +
> +config RCU_FANOUT
> +	int "Tree-based hierarchical RCU fanout value"
> +	range 2 64 if 64BIT
> +	range 2 32 if !64BIT
> +	depends on TREE_RCU
> +	default 64 if 64BIT
> +	default 32 if !64BIT
> +	help
> +	  This option controls the fanout of hierarchical implementations
> +	  of RCU, allowing RCU to work efficiently on machines with
> +	  large numbers of CPUs.  This value must be at least the cube
> +	  root of NR_CPUS, which allows NR_CPUS up to 32,768 for 32-bit
> +	  systems and up to 262,144 for 64-bit systems.
> +
> +	  Select a specific number if testing RCU itself.
> +	  Take the default if unsure.
> +
> +config RCU_FANOUT_EXACT
> +	bool "Disable tree-based hierarchical RCU auto-balancing"
> +	depends on TREE_RCU
> +	default n
> +	help
> +	  This option forces use of the exact RCU_FANOUT value specified,
> +	  regardless of imbalances in the hierarchy.  This is useful for
> +	  testing RCU itself, and might one day be useful on systems with
> +	  strong NUMA behavior.
> +
> +	  Without RCU_FANOUT_EXACT, the code will balance the hierarchy.
> +
> +	  Say N if unsure.
> +
>  config TREE_RCU_TRACE
>  	def_bool RCU_TRACE && TREE_RCU
>  	select DEBUG_FS
> diff --git a/kernel/Kconfig.preempt b/kernel/Kconfig.preempt
> index 463f297..bf987b9 100644
> --- a/kernel/Kconfig.preempt
> +++ b/kernel/Kconfig.preempt
> @@ -52,78 +52,3 @@ config PREEMPT
> 
>  endchoice
> 
> -choice
> -	prompt "RCU Implementation"
> -	default CLASSIC_RCU
> -
> -config CLASSIC_RCU
> -	bool "Classic RCU"
> -	help
> -	  This option selects the classic RCU implementation that is
> -	  designed for best read-side performance on non-realtime
> -	  systems.
> -	  
> -	  Select this option if you are unsure.
> -
> -config TREE_RCU
> -	bool "Tree-based hierarchical RCU"
> -	help
> -	  This option selects the RCU implementation that is
> -	  designed for very large SMP system with hundreds or
> -	  thousands of CPUs.
> -
> -config PREEMPT_RCU
> -	bool "Preemptible RCU"
> -	depends on PREEMPT
> -	help
> -	  This option reduces the latency of the kernel by making certain
> -	  RCU sections preemptible. Normally RCU code is non-preemptible, if
> -	  this option is selected then read-only RCU sections become
> -	  preemptible. This helps latency, but may expose bugs due to
> -	  now-naive assumptions about each RCU read-side critical section
> -	  remaining on a given CPU through its execution.
> -
> -endchoice
> -
> -config RCU_TRACE
> -	bool "Enable tracing for RCU"
> -	depends on TREE_RCU || PREEMPT_RCU
> -	help
> -	  This option provides tracing in RCU which presents stats
> -	  in debugfs for debugging RCU implementation.
> -
> -	  Say Y here if you want to enable RCU tracing
> -	  Say N if you are unsure.
> -
> -config RCU_FANOUT
> -	int "Tree-based hierarchical RCU fanout value"
> -	range 2 64 if 64BIT
> -	range 2 32 if !64BIT
> -	depends on TREE_RCU
> -	default 64 if 64BIT
> -	default 32 if !64BIT
> -	help
> -	  This option controls the fanout of hierarchical implementations
> -	  of RCU, allowing RCU to work efficiently on machines with
> -	  large numbers of CPUs.  This value must be at least the cube
> -	  root of NR_CPUS, which allows NR_CPUS up to 32,768 for 32-bit
> -	  systems and up to 262,144 for 64-bit systems.
> -
> -	  Select a specific number if testing RCU itself.
> -	  Take the default if unsure.
> -
> -config RCU_FANOUT_EXACT
> -	bool "Disable tree-based hierarchical RCU auto-balancing"
> -	depends on TREE_RCU
> -	default n
> -	help
> -	  This option forces use of the exact RCU_FANOUT value specified,
> -	  regardless of imbalances in the hierarchy.  This is useful for
> -	  testing RCU itself, and might one day be useful on systems with
> -	  strong NUMA behavior.
> -
> -	  Without RCU_FANOUT_EXACT, the code will balance the hierarchy.
> -
> -	  Say n if unsure.
> -
> -	

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH -tip] Switch arm defconfig files from CONFIG_CLASSIC_RCU to CONFIG_TREE_RCU.
  2008-12-25  9:33       ` Sam Ravnborg
@ 2008-12-25 19:23         ` Paul E. McKenney
  2008-12-26 18:35           ` Sam Ravnborg
  2008-12-26 14:22         ` Ingo Molnar
  1 sibling, 1 reply; 27+ messages in thread
From: Paul E. McKenney @ 2008-12-25 19:23 UTC (permalink / raw)
  To: Sam Ravnborg
  Cc: Ingo Molnar, linux-kernel, tglx, akpm, ralf, kernel, hskinnemoen,
	cooloney, tony.luck, geert, zippel, jwboyer, mporter,
	grant.likely, paulus, benh, dhowells, yasutake.koichi, lethal,
	hpa

On Thu, Dec 25, 2008 at 10:33:01AM +0100, Sam Ravnborg wrote:
> On Thu, Dec 25, 2008 at 09:36:11AM +0100, Ingo Molnar wrote:
> > 
> > below is the fix for another small buglet that hits architectures that do 
> > not include kernel/Kconfig.preempt.
> 
> What is needed to let all architectures include Kconfig.preempt?
> We should not advertise preemption if not supported,
> but we could do this by a simple Kconfig symbol:
> 
> config HAVE_PREEMPT
> 	bool
> 
> And let all architectures that supports preemption do:
> 
> config "ARCH"
> 	select HAVE_PREEMPT
> 
> But maybe there is a simpler solution

The idea being to make things like PREEMPT then depend on HAVE_PREEMPT?

Seems reasonable to me, but I cannot claim to understand the
relationship of Kconfig and the various arches very well.

							Thanx, Paul

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH -tip] Switch arm defconfig files from CONFIG_CLASSIC_RCU to CONFIG_TREE_RCU.
  2008-12-25  9:33       ` Sam Ravnborg
  2008-12-25 19:23         ` Paul E. McKenney
@ 2008-12-26 14:22         ` Ingo Molnar
  1 sibling, 0 replies; 27+ messages in thread
From: Ingo Molnar @ 2008-12-26 14:22 UTC (permalink / raw)
  To: Sam Ravnborg
  Cc: paulmck, linux-kernel, tglx, akpm, ralf, kernel, hskinnemoen,
	cooloney, tony.luck, geert, zippel, jwboyer, mporter,
	grant.likely, paulus, benh, dhowells, yasutake.koichi, lethal,
	hpa


* Sam Ravnborg <sam@ravnborg.org> wrote:

> On Thu, Dec 25, 2008 at 09:36:11AM +0100, Ingo Molnar wrote:
> > 
> > below is the fix for another small buglet that hits architectures that do 
> > not include kernel/Kconfig.preempt.
> 
> What is needed to let all architectures include Kconfig.preempt?
> We should not advertise preemption if not supported,
> but we could do this by a simple Kconfig symbol:
> 
> config HAVE_PREEMPT
> 	bool
> 
> And let all architectures that supports preemption do:
> 
> config "ARCH"
> 	select HAVE_PREEMPT
> 
> But maybe there is a simpler solution

Since a preemptive kernel is not supported by all architectures, there has 
to be per arch ways to express this - i.e. i think your solution is the 
cleanest.

	Ingo

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH -tip] Switch arm defconfig files from CONFIG_CLASSIC_RCU to CONFIG_TREE_RCU.
  2008-12-25 19:23         ` Paul E. McKenney
@ 2008-12-26 18:35           ` Sam Ravnborg
  0 siblings, 0 replies; 27+ messages in thread
From: Sam Ravnborg @ 2008-12-26 18:35 UTC (permalink / raw)
  To: Paul E. McKenney
  Cc: Ingo Molnar, linux-kernel, tglx, akpm, ralf, kernel, hskinnemoen,
	cooloney, tony.luck, geert, zippel, jwboyer, mporter,
	grant.likely, paulus, benh, dhowells, yasutake.koichi, lethal,
	hpa

On Thu, Dec 25, 2008 at 11:23:32AM -0800, Paul E. McKenney wrote:
> On Thu, Dec 25, 2008 at 10:33:01AM +0100, Sam Ravnborg wrote:
> > On Thu, Dec 25, 2008 at 09:36:11AM +0100, Ingo Molnar wrote:
> > > 
> > > below is the fix for another small buglet that hits architectures that do 
> > > not include kernel/Kconfig.preempt.
> > 
> > What is needed to let all architectures include Kconfig.preempt?
> > We should not advertise preemption if not supported,
> > but we could do this by a simple Kconfig symbol:
> > 
> > config HAVE_PREEMPT
> > 	bool
> > 
> > And let all architectures that supports preemption do:
> > 
> > config "ARCH"
> > 	select HAVE_PREEMPT
> > 
> > But maybe there is a simpler solution
> 
> The idea being to make things like PREEMPT then depend on HAVE_PREEMPT?
Yes - exactly.

So an arch can say that is includes support for preemption
using the following Kconfig snippet:

config X86
	select HAVE_PREEMPT

And then in the spot where we have a prompt we do:

config PREEMPT
	bool "Do you want preemption?"
	depends on HAVE_PREEMPT


Thne we will only present this option to the user
for the architectures where it has indicated preemption
support by selecting HAVE_PREEMPT.

It is on purpose that HAVE_PREEMPT is a single boolean
with no prompt or anything so we do not hit
any of the pitfalls of using select.

We use a similar pattern in many places today.

	Sam

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH, -tip] Make hierarchical RCU be the default
  2008-12-23 22:06         ` [PATCH, -tip] Make hierarchical RCU be the default Paul E. McKenney
@ 2008-12-27 10:35           ` Ingo Molnar
  2008-12-27 23:27             ` Paul E. McKenney
  0 siblings, 1 reply; 27+ messages in thread
From: Ingo Molnar @ 2008-12-27 10:35 UTC (permalink / raw)
  To: Paul E. McKenney
  Cc: linux-kernel, tglx, akpm, ralf, kernel, hskinnemoen, cooloney,
	tony.luck, geert, zippel, jwboyer, mporter, grant.likely, paulus,
	benh, dhowells, yasutake.koichi, lethal, hpa


* Paul E. McKenney <paulmck@linux.vnet.ibm.com> wrote:

> --- a/include/linux/hardirq.h
> +++ b/include/linux/hardirq.h
> @@ -118,7 +118,7 @@ static inline void account_system_vtime(struct task_struct *tsk)
>  }
>  #endif
>  
> -#if defined(CONFIG_NO_HZ) && !defined(CONFIG_CLASSIC_RCU)
> +#if defined(CONFIG_NO_HZ) && !defined(CONFIG_FLAT_RCU)

this can be done in an even lazier fashion, via a ~5 lines patch.

Just add FLAT_RCU as the new kconfig method, and make CONFIG_CLASSIC_RCU 
mirror it via something like:

  config CLASSIC_RCU
  bool
  default FLAT_RCU

that makes your patch only affect the Kconfig file - and makes it easily 
revertable, etc.

	Ingo

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH, -tip] Make hierarchical RCU be the default
  2008-12-27 10:35           ` Ingo Molnar
@ 2008-12-27 23:27             ` Paul E. McKenney
  2008-12-27 23:39               ` Paul E. McKenney
  0 siblings, 1 reply; 27+ messages in thread
From: Paul E. McKenney @ 2008-12-27 23:27 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, tglx, akpm, ralf, kernel, hskinnemoen, cooloney,
	tony.luck, geert, zippel, jwboyer, mporter, grant.likely, paulus,
	benh, dhowells, yasutake.koichi, lethal, hpa

On Sat, Dec 27, 2008 at 11:35:01AM +0100, Ingo Molnar wrote:
> 
> * Paul E. McKenney <paulmck@linux.vnet.ibm.com> wrote:
> 
> > --- a/include/linux/hardirq.h
> > +++ b/include/linux/hardirq.h
> > @@ -118,7 +118,7 @@ static inline void account_system_vtime(struct task_struct *tsk)
> >  }
> >  #endif
> >  
> > -#if defined(CONFIG_NO_HZ) && !defined(CONFIG_CLASSIC_RCU)
> > +#if defined(CONFIG_NO_HZ) && !defined(CONFIG_FLAT_RCU)
> 
> this can be done in an even lazier fashion, via a ~5 lines patch.

I clearly need serious help on this laziness thing.  ;-)

> Just add FLAT_RCU as the new kconfig method, and make CONFIG_CLASSIC_RCU 
> mirror it via something like:
> 
>   config CLASSIC_RCU
>   bool
>   default FLAT_RCU
> 
> that makes your patch only affect the Kconfig file - and makes it easily 
> revertable, etc.

OK.  But don't I also need "select FLAT_RCU" so that all of the
defconfig files containing "CLASSIC_RCU" do the right thing?  If I try
that, "make defconfig" complains as follows:

	init/Kconfig:941:error: found recursive dependency: FLAT_RCU -> CLASSIC_RCU -> FLAT_RCU -> <choice>

So unless I am missing a laziness opportunity in here somewhere, it
seems to me that I need to either (1) change all the arch files so that
what is now "CLASSIC_RCU" instead becomes "FLAT_RCU" or (2) change all
in-code references to "CLASSIC_RCU" to instead reference "FLAT_RCU".

Unless there is some other way out, option #2 seems to me to be the
lazier of the two, which is represented by the earlier patch.  This
patch, updated to handle the RCU choice moving to init/Kconfig, appears
below.  One consequence of this change is that RCU moves from the
"Processor type and features" menu to the top level is xconfig and
friends.

Which might be why Sam is suggesting HAVE_PREEMPT, which could allow it
to stay where it is?

If so, another alternative would be to add kernel/Kconfig.rcu, and add
it to all the arch/*/Kconfig files.  Then it would still appear in the
"Processor type and features" menu, but would also be available to all
arches.

Thoughts?

							Thanx, Paul

------------------------------------------------------------------------

This patch makes the new TREE_RCU be the default, pointing the old
CLASSIC_RCU Kconfig symbol at it and introducing a new FLAT_RCU symbol
to allow the old version to be selected.

This patch is -not- yet suitable for inclusion, only for testing in
-tip, -next, and the like.

Suggested-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
---

 include/linux/hardirq.h  |    4 ++--
 include/linux/pagemap.h  |    4 ++--
 include/linux/rcupdate.h |    4 ++--
 init/Kconfig             |   14 ++++++++++----
 kernel/Makefile          |    2 +-
 lib/Kconfig.debug        |    2 +-
 6 files changed, 18 insertions(+), 12 deletions(-)

diff --git a/include/linux/hardirq.h b/include/linux/hardirq.h
index 9b70b92..0afd180 100644
--- a/include/linux/hardirq.h
+++ b/include/linux/hardirq.h
@@ -118,7 +118,7 @@ static inline void account_system_vtime(struct task_struct *tsk)
 }
 #endif
 
-#if defined(CONFIG_NO_HZ) && !defined(CONFIG_CLASSIC_RCU)
+#if defined(CONFIG_NO_HZ) && !defined(CONFIG_FLAT_RCU)
 extern void rcu_irq_enter(void);
 extern void rcu_irq_exit(void);
 extern void rcu_nmi_enter(void);
@@ -128,7 +128,7 @@ extern void rcu_nmi_exit(void);
 # define rcu_irq_exit() do { } while (0)
 # define rcu_nmi_enter() do { } while (0)
 # define rcu_nmi_exit() do { } while (0)
-#endif /* #if defined(CONFIG_NO_HZ) && !defined(CONFIG_CLASSIC_RCU) */
+#endif /* #if defined(CONFIG_NO_HZ) && !defined(CONFIG_FLAT_RCU) */
 
 /*
  * It is safe to do non-atomic ops on ->hardirq_context,
diff --git a/include/linux/pagemap.h b/include/linux/pagemap.h
index 709742b..5cfb133 100644
--- a/include/linux/pagemap.h
+++ b/include/linux/pagemap.h
@@ -140,7 +140,7 @@ static inline int page_cache_get_speculative(struct page *page)
 {
 	VM_BUG_ON(in_interrupt());
 
-#if !defined(CONFIG_SMP) && defined(CONFIG_CLASSIC_RCU)
+#if !defined(CONFIG_SMP) && defined(CONFIG_FLAT_RCU)
 # ifdef CONFIG_PREEMPT
 	VM_BUG_ON(!in_atomic());
 # endif
@@ -178,7 +178,7 @@ static inline int page_cache_add_speculative(struct page *page, int count)
 {
 	VM_BUG_ON(in_interrupt());
 
-#if !defined(CONFIG_SMP) && defined(CONFIG_CLASSIC_RCU)
+#if !defined(CONFIG_SMP) && defined(CONFIG_FLAT_RCU)
 # ifdef CONFIG_PREEMPT
 	VM_BUG_ON(!in_atomic());
 # endif
diff --git a/include/linux/rcupdate.h b/include/linux/rcupdate.h
index bfd289a..819bf83 100644
--- a/include/linux/rcupdate.h
+++ b/include/linux/rcupdate.h
@@ -52,7 +52,7 @@ struct rcu_head {
 	void (*func)(struct rcu_head *head);
 };
 
-#if defined(CONFIG_CLASSIC_RCU)
+#if defined(CONFIG_FLAT_RCU)
 #include <linux/rcuclassic.h>
 #elif defined(CONFIG_TREE_RCU)
 #include <linux/rcutree.h>
@@ -60,7 +60,7 @@ struct rcu_head {
 #include <linux/rcupreempt.h>
 #else
 #error "Unknown RCU implementation specified to kernel configuration"
-#endif /* #else #if defined(CONFIG_CLASSIC_RCU) */
+#endif /* #else #if defined(CONFIG_FLAT_RCU) */
 
 #define RCU_HEAD_INIT 	{ .next = NULL, .func = NULL }
 #define RCU_HEAD(head) struct rcu_head head = RCU_HEAD_INIT
diff --git a/init/Kconfig b/init/Kconfig
index 6b0fded..58d6575 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -928,16 +928,22 @@ source "block/Kconfig"
 config PREEMPT_NOTIFIERS
 	bool
 
+config CLASSIC_RCU
+	bool
+	select TREE_RCU
+
 choice
 	prompt "RCU Implementation"
-	default CLASSIC_RCU
+	default TREE_RCU
 
-config CLASSIC_RCU
-	bool "Classic RCU"
+config FLAT_RCU
+	bool "Flat (AKA classic) RCU"
 	help
 	  This option selects the classic RCU implementation that is
 	  designed for best read-side performance on non-realtime
-	  systems.
+	  systems with modest numbers of CPUs.  Its flat bit-map
+	  implementation makes it unsuitable for systems with hundreds
+	  or thousands of CPUs.
 
 	  Select this option if you are unsure.
 
diff --git a/kernel/Makefile b/kernel/Makefile
index b4fdbbf..73e9a94 100644
--- a/kernel/Makefile
+++ b/kernel/Makefile
@@ -73,7 +73,7 @@ obj-$(CONFIG_DETECT_SOFTLOCKUP) += softlockup.o
 obj-$(CONFIG_GENERIC_HARDIRQS) += irq/
 obj-$(CONFIG_SECCOMP) += seccomp.o
 obj-$(CONFIG_RCU_TORTURE_TEST) += rcutorture.o
-obj-$(CONFIG_CLASSIC_RCU) += rcuclassic.o
+obj-$(CONFIG_FLAT_RCU) += rcuclassic.o
 obj-$(CONFIG_TREE_RCU) += rcutree.o
 obj-$(CONFIG_PREEMPT_RCU) += rcupreempt.o
 obj-$(CONFIG_TREE_RCU_TRACE) += rcutree_trace.o
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index 465d822..a036720 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -621,7 +621,7 @@ config RCU_CPU_STALL_DETECTOR
 
 config RCU_CPU_STALL_DETECTOR
 	bool "Check for stalled CPUs delaying RCU grace periods"
-	depends on CLASSIC_RCU || TREE_RCU
+	depends on TREE_RCU || FLAT_RCU
 	default n
 	help
 	  This option causes RCU to printk information on which

^ permalink raw reply related	[flat|nested] 27+ messages in thread

* Re: [PATCH, -tip] Make hierarchical RCU be the default
  2008-12-27 23:27             ` Paul E. McKenney
@ 2008-12-27 23:39               ` Paul E. McKenney
  2008-12-29  3:22                 ` [PATCH, -tip] v2 " Paul E. McKenney
  0 siblings, 1 reply; 27+ messages in thread
From: Paul E. McKenney @ 2008-12-27 23:39 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, tglx, akpm, ralf, kernel, hskinnemoen, cooloney,
	tony.luck, geert, zippel, jwboyer, mporter, grant.likely, paulus,
	benh, dhowells, yasutake.koichi, lethal, hpa

On Sat, Dec 27, 2008 at 03:27:31PM -0800, Paul E. McKenney wrote:
> On Sat, Dec 27, 2008 at 11:35:01AM +0100, Ingo Molnar wrote:
> > 
> > * Paul E. McKenney <paulmck@linux.vnet.ibm.com> wrote:
> > 
> > > --- a/include/linux/hardirq.h
> > > +++ b/include/linux/hardirq.h
> > > @@ -118,7 +118,7 @@ static inline void account_system_vtime(struct task_struct *tsk)
> > >  }
> > >  #endif
> > >  
> > > -#if defined(CONFIG_NO_HZ) && !defined(CONFIG_CLASSIC_RCU)
> > > +#if defined(CONFIG_NO_HZ) && !defined(CONFIG_FLAT_RCU)
> > 
> > this can be done in an even lazier fashion, via a ~5 lines patch.
> 
> I clearly need serious help on this laziness thing.  ;-)
> 
> > Just add FLAT_RCU as the new kconfig method, and make CONFIG_CLASSIC_RCU 
> > mirror it via something like:
> > 
> >   config CLASSIC_RCU
> >   bool
> >   default FLAT_RCU
> > 
> > that makes your patch only affect the Kconfig file - and makes it easily 
> > revertable, etc.
> 
> OK.  But don't I also need "select FLAT_RCU" so that all of the
> defconfig files containing "CLASSIC_RCU" do the right thing?  If I try
> that, "make defconfig" complains as follows:
> 
> 	init/Kconfig:941:error: found recursive dependency: FLAT_RCU -> CLASSIC_RCU -> FLAT_RCU -> <choice>
> 
> So unless I am missing a laziness opportunity in here somewhere, it
> seems to me that I need to either (1) change all the arch files so that
> what is now "CLASSIC_RCU" instead becomes "FLAT_RCU" or (2) change all
> in-code references to "CLASSIC_RCU" to instead reference "FLAT_RCU".
> 
> Unless there is some other way out, option #2 seems to me to be the
> lazier of the two, which is represented by the earlier patch.  This
> patch, updated to handle the RCU choice moving to init/Kconfig, appears
> below.  One consequence of this change is that RCU moves from the
> "Processor type and features" menu to the top level is xconfig and
> friends.
> 
> Which might be why Sam is suggesting HAVE_PREEMPT, which could allow it
> to stay where it is?
> 
> If so, another alternative would be to add kernel/Kconfig.rcu, and add
> it to all the arch/*/Kconfig files.  Then it would still appear in the
> "Processor type and features" menu, but would also be available to all
> arches.
> 
> Thoughts?

Silly me for assuming that all architectures had even vaguely similar
Kconfig menu layouts.  Ouch!!!

							Thanx, Paul

> ------------------------------------------------------------------------
> 
> This patch makes the new TREE_RCU be the default, pointing the old
> CLASSIC_RCU Kconfig symbol at it and introducing a new FLAT_RCU symbol
> to allow the old version to be selected.
> 
> This patch is -not- yet suitable for inclusion, only for testing in
> -tip, -next, and the like.
> 
> Suggested-by: Ingo Molnar <mingo@elte.hu>
> Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
> ---
> 
>  include/linux/hardirq.h  |    4 ++--
>  include/linux/pagemap.h  |    4 ++--
>  include/linux/rcupdate.h |    4 ++--
>  init/Kconfig             |   14 ++++++++++----
>  kernel/Makefile          |    2 +-
>  lib/Kconfig.debug        |    2 +-
>  6 files changed, 18 insertions(+), 12 deletions(-)
> 
> diff --git a/include/linux/hardirq.h b/include/linux/hardirq.h
> index 9b70b92..0afd180 100644
> --- a/include/linux/hardirq.h
> +++ b/include/linux/hardirq.h
> @@ -118,7 +118,7 @@ static inline void account_system_vtime(struct task_struct *tsk)
>  }
>  #endif
>  
> -#if defined(CONFIG_NO_HZ) && !defined(CONFIG_CLASSIC_RCU)
> +#if defined(CONFIG_NO_HZ) && !defined(CONFIG_FLAT_RCU)
>  extern void rcu_irq_enter(void);
>  extern void rcu_irq_exit(void);
>  extern void rcu_nmi_enter(void);
> @@ -128,7 +128,7 @@ extern void rcu_nmi_exit(void);
>  # define rcu_irq_exit() do { } while (0)
>  # define rcu_nmi_enter() do { } while (0)
>  # define rcu_nmi_exit() do { } while (0)
> -#endif /* #if defined(CONFIG_NO_HZ) && !defined(CONFIG_CLASSIC_RCU) */
> +#endif /* #if defined(CONFIG_NO_HZ) && !defined(CONFIG_FLAT_RCU) */
>  
>  /*
>   * It is safe to do non-atomic ops on ->hardirq_context,
> diff --git a/include/linux/pagemap.h b/include/linux/pagemap.h
> index 709742b..5cfb133 100644
> --- a/include/linux/pagemap.h
> +++ b/include/linux/pagemap.h
> @@ -140,7 +140,7 @@ static inline int page_cache_get_speculative(struct page *page)
>  {
>  	VM_BUG_ON(in_interrupt());
>  
> -#if !defined(CONFIG_SMP) && defined(CONFIG_CLASSIC_RCU)
> +#if !defined(CONFIG_SMP) && defined(CONFIG_FLAT_RCU)
>  # ifdef CONFIG_PREEMPT
>  	VM_BUG_ON(!in_atomic());
>  # endif
> @@ -178,7 +178,7 @@ static inline int page_cache_add_speculative(struct page *page, int count)
>  {
>  	VM_BUG_ON(in_interrupt());
>  
> -#if !defined(CONFIG_SMP) && defined(CONFIG_CLASSIC_RCU)
> +#if !defined(CONFIG_SMP) && defined(CONFIG_FLAT_RCU)
>  # ifdef CONFIG_PREEMPT
>  	VM_BUG_ON(!in_atomic());
>  # endif
> diff --git a/include/linux/rcupdate.h b/include/linux/rcupdate.h
> index bfd289a..819bf83 100644
> --- a/include/linux/rcupdate.h
> +++ b/include/linux/rcupdate.h
> @@ -52,7 +52,7 @@ struct rcu_head {
>  	void (*func)(struct rcu_head *head);
>  };
>  
> -#if defined(CONFIG_CLASSIC_RCU)
> +#if defined(CONFIG_FLAT_RCU)
>  #include <linux/rcuclassic.h>
>  #elif defined(CONFIG_TREE_RCU)
>  #include <linux/rcutree.h>
> @@ -60,7 +60,7 @@ struct rcu_head {
>  #include <linux/rcupreempt.h>
>  #else
>  #error "Unknown RCU implementation specified to kernel configuration"
> -#endif /* #else #if defined(CONFIG_CLASSIC_RCU) */
> +#endif /* #else #if defined(CONFIG_FLAT_RCU) */
>  
>  #define RCU_HEAD_INIT 	{ .next = NULL, .func = NULL }
>  #define RCU_HEAD(head) struct rcu_head head = RCU_HEAD_INIT
> diff --git a/init/Kconfig b/init/Kconfig
> index 6b0fded..58d6575 100644
> --- a/init/Kconfig
> +++ b/init/Kconfig
> @@ -928,16 +928,22 @@ source "block/Kconfig"
>  config PREEMPT_NOTIFIERS
>  	bool
>  
> +config CLASSIC_RCU
> +	bool
> +	select TREE_RCU
> +
>  choice
>  	prompt "RCU Implementation"
> -	default CLASSIC_RCU
> +	default TREE_RCU
>  
> -config CLASSIC_RCU
> -	bool "Classic RCU"
> +config FLAT_RCU
> +	bool "Flat (AKA classic) RCU"
>  	help
>  	  This option selects the classic RCU implementation that is
>  	  designed for best read-side performance on non-realtime
> -	  systems.
> +	  systems with modest numbers of CPUs.  Its flat bit-map
> +	  implementation makes it unsuitable for systems with hundreds
> +	  or thousands of CPUs.
>  
>  	  Select this option if you are unsure.
>  
> diff --git a/kernel/Makefile b/kernel/Makefile
> index b4fdbbf..73e9a94 100644
> --- a/kernel/Makefile
> +++ b/kernel/Makefile
> @@ -73,7 +73,7 @@ obj-$(CONFIG_DETECT_SOFTLOCKUP) += softlockup.o
>  obj-$(CONFIG_GENERIC_HARDIRQS) += irq/
>  obj-$(CONFIG_SECCOMP) += seccomp.o
>  obj-$(CONFIG_RCU_TORTURE_TEST) += rcutorture.o
> -obj-$(CONFIG_CLASSIC_RCU) += rcuclassic.o
> +obj-$(CONFIG_FLAT_RCU) += rcuclassic.o
>  obj-$(CONFIG_TREE_RCU) += rcutree.o
>  obj-$(CONFIG_PREEMPT_RCU) += rcupreempt.o
>  obj-$(CONFIG_TREE_RCU_TRACE) += rcutree_trace.o
> diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
> index 465d822..a036720 100644
> --- a/lib/Kconfig.debug
> +++ b/lib/Kconfig.debug
> @@ -621,7 +621,7 @@ config RCU_CPU_STALL_DETECTOR
>  
>  config RCU_CPU_STALL_DETECTOR
>  	bool "Check for stalled CPUs delaying RCU grace periods"
> -	depends on CLASSIC_RCU || TREE_RCU
> +	depends on TREE_RCU || FLAT_RCU
>  	default n
>  	help
>  	  This option causes RCU to printk information on which

^ permalink raw reply	[flat|nested] 27+ messages in thread

* [PATCH, -tip] v2 Make hierarchical RCU be the default
  2008-12-27 23:39               ` Paul E. McKenney
@ 2008-12-29  3:22                 ` Paul E. McKenney
  0 siblings, 0 replies; 27+ messages in thread
From: Paul E. McKenney @ 2008-12-29  3:22 UTC (permalink / raw)
  To: linux-kernel
  Cc: mingo, tglx, akpm, ralf, kernel, hskinnemoen, cooloney, tony.luck,
	geert, zippel, jwboyer, mporter, grant.likely, paulus, benh,
	dhowells, yasutake.koichi, lethal, hpa, wli, rth

This patch makes the new TREE_RCU be the default, pointing the old
CLASSIC_RCU Kconfig symbol at it and introducing a new FLAT_RCU symbol
to allow the old version to be selected.  It also introduces the kernel
config parameter RCU_READ_PREEMPT_DISABLE, which allows debug code in
pagemap.h to operate in TREE_RCU as it did in FLAT_RCU.

The approach is to place the RCU-specific configs in a new file named
kernel/Kconfig.rcu, which is sourced from kernel/Kconfig.preempt,
making this change transparent to all architectures that source
kernel/Kconfig.preempt.  The remaining five architectures (alpha, frv,
h8300, m68k, and sparc) have been modified to select CLASSIC_RCU in
their arch Kconfigs and to source kernel/Kconfig.rcu.  The only
difference that these five arches will see is the RCU configs at the
very end of the config list.  These five architectures were tested by
directly invoking qconf on the corresponding Kconfig file, and the
results looked correct.  I do not have the corresponding hardware for
any sort of real testing.

The resulting patch is relatively small, and directly touches a minimum
number of architectures.

This patch is -not- yet suitable for inclusion, only for testing in
-tip, -next, and the like.  If all goes well, it might be appropriate
for 2.6.29.

Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
---

 arch/alpha/Kconfig       |    2 
 arch/frv/Kconfig         |    3 +
 arch/h8300/Kconfig       |    3 +
 arch/m68k/Kconfig        |    3 +
 arch/sparc/Kconfig       |    3 +
 include/linux/hardirq.h  |    4 -
 include/linux/pagemap.h  |    4 -
 include/linux/rcupdate.h |    4 -
 init/Kconfig             |   87 ----------------------------------------
 kernel/Kconfig.preempt   |    1 
 kernel/Kconfig.rcu       |  100 +++++++++++++++++++++++++++++++++++++++++++++++
 kernel/Makefile          |    2 
 lib/Kconfig.debug        |    2 
 13 files changed, 123 insertions(+), 95 deletions(-)

diff --git a/arch/alpha/Kconfig b/arch/alpha/Kconfig
index 6110197..8f4e779 100644
--- a/arch/alpha/Kconfig
+++ b/arch/alpha/Kconfig
@@ -8,6 +8,7 @@ config ALPHA
 	select HAVE_AOUT
 	select HAVE_IDE
 	select HAVE_OPROFILE
+	select CLASSIC_RCU
 	help
 	  The Alpha is a 64-bit general-purpose processor designed and
 	  marketed by the Digital Equipment Corporation of blessed memory,
@@ -671,3 +672,4 @@ source "crypto/Kconfig"
 
 source "lib/Kconfig"
 
+source "kernel/Kconfig.rcu"
diff --git a/arch/frv/Kconfig b/arch/frv/Kconfig
index 9d1552a..0884abc 100644
--- a/arch/frv/Kconfig
+++ b/arch/frv/Kconfig
@@ -6,6 +6,7 @@ config FRV
 	bool
 	default y
 	select HAVE_IDE
+	select CLASSIC_RCU
 
 config ZONE_DMA
 	bool
@@ -398,3 +399,5 @@ source "security/Kconfig"
 source "crypto/Kconfig"
 
 source "lib/Kconfig"
+
+source "kernel/Kconfig.rcu"
diff --git a/arch/h8300/Kconfig b/arch/h8300/Kconfig
index 28f06fd..8b13a5b 100644
--- a/arch/h8300/Kconfig
+++ b/arch/h8300/Kconfig
@@ -9,6 +9,7 @@ config H8300
 	bool
 	default y
 	select HAVE_IDE
+	select CLASSIC_RCU
 
 config MMU
 	bool
@@ -229,3 +230,5 @@ source "security/Kconfig"
 source "crypto/Kconfig"
 
 source "lib/Kconfig"
+
+source "kernel/Kconfig.rcu"
diff --git a/arch/m68k/Kconfig b/arch/m68k/Kconfig
index 836fb66..1759981 100644
--- a/arch/m68k/Kconfig
+++ b/arch/m68k/Kconfig
@@ -7,6 +7,7 @@ config M68K
 	default y
 	select HAVE_AOUT
 	select HAVE_IDE
+	select CLASSIC_RCU
 
 config MMU
 	bool
@@ -622,3 +623,5 @@ source "security/Kconfig"
 source "crypto/Kconfig"
 
 source "lib/Kconfig"
+
+source "kernel/Kconfig.rcu"
diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig
index e594559..daf88ce 100644
--- a/arch/sparc/Kconfig
+++ b/arch/sparc/Kconfig
@@ -79,6 +79,7 @@ config SPARC
 	select ARCH_WANT_OPTIONAL_GPIOLIB
 	select RTC_CLASS
 	select RTC_DRV_M48T59
+	select CLASSIC_RCU
 
 # Identify this as a Sparc32 build
 config SPARC32
@@ -302,3 +303,5 @@ source "security/Kconfig"
 source "crypto/Kconfig"
 
 source "lib/Kconfig"
+
+source "kernel/Kconfig.rcu"
diff --git a/include/linux/hardirq.h b/include/linux/hardirq.h
index 9b70b92..0afd180 100644
--- a/include/linux/hardirq.h
+++ b/include/linux/hardirq.h
@@ -118,7 +118,7 @@ static inline void account_system_vtime(struct task_struct *tsk)
 }
 #endif
 
-#if defined(CONFIG_NO_HZ) && !defined(CONFIG_CLASSIC_RCU)
+#if defined(CONFIG_NO_HZ) && !defined(CONFIG_FLAT_RCU)
 extern void rcu_irq_enter(void);
 extern void rcu_irq_exit(void);
 extern void rcu_nmi_enter(void);
@@ -128,7 +128,7 @@ extern void rcu_nmi_exit(void);
 # define rcu_irq_exit() do { } while (0)
 # define rcu_nmi_enter() do { } while (0)
 # define rcu_nmi_exit() do { } while (0)
-#endif /* #if defined(CONFIG_NO_HZ) && !defined(CONFIG_CLASSIC_RCU) */
+#endif /* #if defined(CONFIG_NO_HZ) && !defined(CONFIG_FLAT_RCU) */
 
 /*
  * It is safe to do non-atomic ops on ->hardirq_context,
diff --git a/include/linux/pagemap.h b/include/linux/pagemap.h
index 709742b..a8f427a 100644
--- a/include/linux/pagemap.h
+++ b/include/linux/pagemap.h
@@ -140,7 +140,7 @@ static inline int page_cache_get_speculative(struct page *page)
 {
 	VM_BUG_ON(in_interrupt());
 
-#if !defined(CONFIG_SMP) && defined(CONFIG_CLASSIC_RCU)
+#if !defined(CONFIG_SMP) && defined(CONFIG_RCU_READ_PREEMPT_DISABLE)
 # ifdef CONFIG_PREEMPT
 	VM_BUG_ON(!in_atomic());
 # endif
@@ -178,7 +178,7 @@ static inline int page_cache_add_speculative(struct page *page, int count)
 {
 	VM_BUG_ON(in_interrupt());
 
-#if !defined(CONFIG_SMP) && defined(CONFIG_CLASSIC_RCU)
+#if !defined(CONFIG_SMP) && defined(CONFIG_RCU_READ_PREEMPT_DISABLE)
 # ifdef CONFIG_PREEMPT
 	VM_BUG_ON(!in_atomic());
 # endif
diff --git a/include/linux/rcupdate.h b/include/linux/rcupdate.h
index bfd289a..819bf83 100644
--- a/include/linux/rcupdate.h
+++ b/include/linux/rcupdate.h
@@ -52,7 +52,7 @@ struct rcu_head {
 	void (*func)(struct rcu_head *head);
 };
 
-#if defined(CONFIG_CLASSIC_RCU)
+#if defined(CONFIG_FLAT_RCU)
 #include <linux/rcuclassic.h>
 #elif defined(CONFIG_TREE_RCU)
 #include <linux/rcutree.h>
@@ -60,7 +60,7 @@ struct rcu_head {
 #include <linux/rcupreempt.h>
 #else
 #error "Unknown RCU implementation specified to kernel configuration"
-#endif /* #else #if defined(CONFIG_CLASSIC_RCU) */
+#endif /* #else #if defined(CONFIG_FLAT_RCU) */
 
 #define RCU_HEAD_INIT 	{ .next = NULL, .func = NULL }
 #define RCU_HEAD(head) struct rcu_head head = RCU_HEAD_INIT
diff --git a/init/Kconfig b/init/Kconfig
index 6b0fded..e2bf7b8 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -928,90 +928,3 @@ source "block/Kconfig"
 config PREEMPT_NOTIFIERS
 	bool
 
-choice
-	prompt "RCU Implementation"
-	default CLASSIC_RCU
-
-config CLASSIC_RCU
-	bool "Classic RCU"
-	help
-	  This option selects the classic RCU implementation that is
-	  designed for best read-side performance on non-realtime
-	  systems.
-
-	  Select this option if you are unsure.
-
-config TREE_RCU
-	bool "Tree-based hierarchical RCU"
-	help
-	  This option selects the RCU implementation that is
-	  designed for very large SMP system with hundreds or
-	  thousands of CPUs.
-
-config PREEMPT_RCU
-	bool "Preemptible RCU"
-	depends on PREEMPT
-	help
-	  This option reduces the latency of the kernel by making certain
-	  RCU sections preemptible. Normally RCU code is non-preemptible, if
-	  this option is selected then read-only RCU sections become
-	  preemptible. This helps latency, but may expose bugs due to
-	  now-naive assumptions about each RCU read-side critical section
-	  remaining on a given CPU through its execution.
-
-endchoice
-
-config RCU_TRACE
-	bool "Enable tracing for RCU"
-	depends on TREE_RCU || PREEMPT_RCU
-	help
-	  This option provides tracing in RCU which presents stats
-	  in debugfs for debugging RCU implementation.
-
-	  Say Y here if you want to enable RCU tracing
-	  Say N if you are unsure.
-
-config RCU_FANOUT
-	int "Tree-based hierarchical RCU fanout value"
-	range 2 64 if 64BIT
-	range 2 32 if !64BIT
-	depends on TREE_RCU
-	default 64 if 64BIT
-	default 32 if !64BIT
-	help
-	  This option controls the fanout of hierarchical implementations
-	  of RCU, allowing RCU to work efficiently on machines with
-	  large numbers of CPUs.  This value must be at least the cube
-	  root of NR_CPUS, which allows NR_CPUS up to 32,768 for 32-bit
-	  systems and up to 262,144 for 64-bit systems.
-
-	  Select a specific number if testing RCU itself.
-	  Take the default if unsure.
-
-config RCU_FANOUT_EXACT
-	bool "Disable tree-based hierarchical RCU auto-balancing"
-	depends on TREE_RCU
-	default n
-	help
-	  This option forces use of the exact RCU_FANOUT value specified,
-	  regardless of imbalances in the hierarchy.  This is useful for
-	  testing RCU itself, and might one day be useful on systems with
-	  strong NUMA behavior.
-
-	  Without RCU_FANOUT_EXACT, the code will balance the hierarchy.
-
-	  Say N if unsure.
-
-config TREE_RCU_TRACE
-	def_bool RCU_TRACE && TREE_RCU
-	select DEBUG_FS
-	help
-	  This option provides tracing for the TREE_RCU implementation,
-	  permitting Makefile to trivially select kernel/rcutree_trace.c.
-
-config PREEMPT_RCU_TRACE
-	def_bool RCU_TRACE && PREEMPT_RCU
-	select DEBUG_FS
-	help
-	  This option provides tracing for the PREEMPT_RCU implementation,
-	  permitting Makefile to trivially select kernel/rcupreempt_trace.c.
diff --git a/kernel/Kconfig.preempt b/kernel/Kconfig.preempt
index bf987b9..ac9c4cc 100644
--- a/kernel/Kconfig.preempt
+++ b/kernel/Kconfig.preempt
@@ -52,3 +52,4 @@ config PREEMPT
 
 endchoice
 
+source "kernel/Kconfig.rcu"
diff --git a/kernel/Kconfig.rcu b/kernel/Kconfig.rcu
new file mode 100644
index 0000000..e09f45d
--- /dev/null
+++ b/kernel/Kconfig.rcu
@@ -0,0 +1,100 @@
+
+config CLASSIC_RCU
+	bool
+	select TREE_RCU
+
+choice
+	prompt "RCU Implementation"
+	default TREE_RCU
+
+config FLAT_RCU
+	bool "Flat (AKA classic) RCU"
+	select RCU_READ_PREEMPT_DISABLE
+	help
+	  This option selects the classic RCU implementation that is
+	  designed for best read-side performance on non-realtime
+	  systems with modest numbers of CPUs.  Its flat bit-map
+	  implementation makes it unsuitable for systems with hundreds
+	  or thousands of CPUs.
+
+	  Select this option if you are unsure.
+
+config TREE_RCU
+	bool "Tree-based hierarchical RCU"
+	select RCU_READ_PREEMPT_DISABLE
+	help
+	  This option selects the RCU implementation that is
+	  designed for very large SMP system with hundreds or
+	  thousands of CPUs.
+
+config PREEMPT_RCU
+	bool "Preemptible RCU"
+	depends on PREEMPT
+	help
+	  This option reduces the latency of the kernel by making certain
+	  RCU sections preemptible. Normally RCU code is non-preemptible, if
+	  this option is selected then read-only RCU sections become
+	  preemptible. This helps latency, but may expose bugs due to
+	  now-naive assumptions about each RCU read-side critical section
+	  remaining on a given CPU through its execution.
+
+endchoice
+
+config RCU_TRACE
+	bool "Enable tracing for RCU"
+	depends on TREE_RCU || PREEMPT_RCU
+	help
+	  This option provides tracing in RCU which presents stats
+	  in debugfs for debugging RCU implementation.
+
+	  Say Y here if you want to enable RCU tracing
+	  Say N if you are unsure.
+
+config RCU_FANOUT
+	int "Tree-based hierarchical RCU fanout value"
+	range 2 64 if 64BIT
+	range 2 32 if !64BIT
+	depends on TREE_RCU
+	default 64 if 64BIT
+	default 32 if !64BIT
+	help
+	  This option controls the fanout of hierarchical implementations
+	  of RCU, allowing RCU to work efficiently on machines with
+	  large numbers of CPUs.  This value must be at least the cube
+	  root of NR_CPUS, which allows NR_CPUS up to 32,768 for 32-bit
+	  systems and up to 262,144 for 64-bit systems.
+
+	  Select a specific number if testing RCU itself.
+	  Take the default if unsure.
+
+config RCU_FANOUT_EXACT
+	bool "Disable tree-based hierarchical RCU auto-balancing"
+	depends on TREE_RCU
+	default n
+	help
+	  This option forces use of the exact RCU_FANOUT value specified,
+	  regardless of imbalances in the hierarchy.  This is useful for
+	  testing RCU itself, and might one day be useful on systems with
+	  strong NUMA behavior.
+
+	  Without RCU_FANOUT_EXACT, the code will balance the hierarchy.
+
+	  Say N if unsure.
+
+config TREE_RCU_TRACE
+	def_bool RCU_TRACE && TREE_RCU
+	select DEBUG_FS
+	help
+	  This option provides tracing for the TREE_RCU implementation,
+	  permitting Makefile to trivially select kernel/rcutree_trace.c.
+
+config PREEMPT_RCU_TRACE
+	def_bool RCU_TRACE && PREEMPT_RCU
+	select DEBUG_FS
+	help
+	  This option provides tracing for the PREEMPT_RCU implementation,
+	  permitting Makefile to trivially select kernel/rcupreempt_trace.c.
+
+config RCU_READ_PREEMPT_DISABLE
+	bool
+	default n
diff --git a/kernel/Makefile b/kernel/Makefile
index b4fdbbf..73e9a94 100644
--- a/kernel/Makefile
+++ b/kernel/Makefile
@@ -73,7 +73,7 @@ obj-$(CONFIG_DETECT_SOFTLOCKUP) += softlockup.o
 obj-$(CONFIG_GENERIC_HARDIRQS) += irq/
 obj-$(CONFIG_SECCOMP) += seccomp.o
 obj-$(CONFIG_RCU_TORTURE_TEST) += rcutorture.o
-obj-$(CONFIG_CLASSIC_RCU) += rcuclassic.o
+obj-$(CONFIG_FLAT_RCU) += rcuclassic.o
 obj-$(CONFIG_TREE_RCU) += rcutree.o
 obj-$(CONFIG_PREEMPT_RCU) += rcupreempt.o
 obj-$(CONFIG_TREE_RCU_TRACE) += rcutree_trace.o
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index 465d822..a036720 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -621,7 +621,7 @@ config RCU_CPU_STALL_DETECTOR
 
 config RCU_CPU_STALL_DETECTOR
 	bool "Check for stalled CPUs delaying RCU grace periods"
-	depends on CLASSIC_RCU || TREE_RCU
+	depends on TREE_RCU || FLAT_RCU
 	default n
 	help
 	  This option causes RCU to printk information on which

^ permalink raw reply related	[flat|nested] 27+ messages in thread

end of thread, other threads:[~2008-12-29  5:38 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-12-23  0:12 [PATCH -tip] Change default from CLASSIC_RCU to TREE_RCU (testing only) paulmck
2008-12-23  0:12 ` [PATCH -tip] Set the default RCU to be rcutree paulmck
2008-12-23  0:12 ` [PATCH -tip] Switch arm defconfig files from CONFIG_CLASSIC_RCU to CONFIG_TREE_RCU paulmck
2008-12-23 14:25   ` Ingo Molnar
2008-12-23 21:59     ` Paul E. McKenney
2008-12-23 22:03       ` [PATCH, -tip] Remove redundant RCU_CPU_STALL_DETECTOR declaration Paul E. McKenney
2008-12-23 22:06         ` [PATCH, -tip] Make hierarchical RCU be the default Paul E. McKenney
2008-12-27 10:35           ` Ingo Molnar
2008-12-27 23:27             ` Paul E. McKenney
2008-12-27 23:39               ` Paul E. McKenney
2008-12-29  3:22                 ` [PATCH, -tip] v2 " Paul E. McKenney
2008-12-25  8:36     ` [PATCH -tip] Switch arm defconfig files from CONFIG_CLASSIC_RCU to CONFIG_TREE_RCU Ingo Molnar
2008-12-25  9:33       ` Sam Ravnborg
2008-12-25 19:23         ` Paul E. McKenney
2008-12-26 18:35           ` Sam Ravnborg
2008-12-26 14:22         ` Ingo Molnar
2008-12-25 18:46       ` Paul E. McKenney
2008-12-23  0:12 ` [PATCH -tip] Switch avr32 defconfigs " paulmck
2008-12-23  0:12 ` [PATCH -tip] Switch blackfin defconfig " paulmck
2008-12-23  0:12 ` [PATCH -tip] Switch ia64 " paulmck
2008-12-23  0:12 ` [PATCH -tip] Switch m68k " paulmck
2008-12-23  0:12 ` [PATCH -tip] Switch m68knommu " paulmck
2008-12-23  0:12 ` [PATCH -tip] Switch mips defconfig " paulmck
2008-12-23  0:12 ` [PATCH -tip] Switch mn10300 " paulmck
2008-12-23  0:12 ` [PATCH -tip] Switch powerpc " paulmck
2008-12-23  0:12 ` [PATCH -tip] Switch sh " paulmck
2008-12-23  0:12 ` [PATCH -tip] Switch x86 " paulmck

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox