Skip to contentSkip to conversation

Change default from CLASSIC_RCU to TREE_RCU (testing only)

PATCH New [email protected] 3 participants 27 messages Dec 23, 2008 – Dec 29, 2008

Subsystems (12)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Change default from CLASSIC_RCU to TREE_RCU (testing only)

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.

#1 lore raw

PATCH 1/1 Set the default RCU to be rcutree

From: Paul E. McKenney <[email protected]>

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

---
 kernel/Kconfig.preempt |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
kernel/Kconfig.preempt +1 -1
index 463f297..6f8f329 100644
@@ -54,7 +54,7 @@ endchoice
 
 choice
 	prompt "RCU Implementation"
-	default CLASSIC_RCU
+	default TREE_RCU
 
 config CLASSIC_RCU
 	bool "Classic RCU"
Signature · 1 line
1.5.2.5
#2 lore raw

PATCH 1/1 Switch blackfin defconfig from CONFIG_CLASSIC_RCU to CONFIG_TREE_RCU.

In reply to [email protected]

From: Paul E. McKenney <[email protected]>

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

---
 arch/blackfin/configs/BF526-EZBRD_defconfig |    2 +-
 arch/blackfin/configs/BlackStamp_defconfig  |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
arch/blackfin/configs/BF526-EZBRD_defconfig +1 -1
index 4443a47..1366126 100644
@@ -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
arch/blackfin/configs/BlackStamp_defconfig +1 -1
index 2921f99..fc74d4a 100644
@@ -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
Signature · 1 line
1.5.2.5
#3 lore raw

PATCH 1/1 Switch avr32 defconfigs from CONFIG_CLASSIC_RCU to CONFIG_TREE_RCU.

In reply to [email protected]

From: Paul E. McKenney <[email protected]>

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

---
 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(-)
arch/avr32/configs/atngw100_defconfig +1 -1
index 5415209..eb3a0ab 100644
@@ -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
arch/avr32/configs/atngw100_evklcd100_defconfig +1 -1
index b0572d2..b371cd9 100644
@@ -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
arch/avr32/configs/atngw100_evklcd101_defconfig +1 -1
index c5b898d..13db38a 100644
@@ -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
arch/avr32/configs/atstk1002_defconfig +1 -1
index 69fce6b..5a980cd 100644
@@ -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
arch/avr32/configs/atstk1003_defconfig +1 -1
index 5477ed3..de27359 100644
@@ -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
arch/avr32/configs/atstk1004_defconfig +1 -1
index 69e6c0d..cffc706 100644
@@ -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
arch/avr32/configs/atstk1006_defconfig +1 -1
index 8b6e54c..49aa363 100644
@@ -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
arch/avr32/configs/favr-32_defconfig +1 -1
index e2bd998..34631bb 100644
@@ -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
arch/avr32/configs/mimc200_defconfig +1 -1
index 981e4f8..266a896 100644
@@ -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
Signature · 1 line
1.5.2.5
#4 lore raw

PATCH 1/1 Switch arm defconfig files from CONFIG_CLASSIC_RCU to CONFIG_TREE_RCU.

In reply to [email protected]

From: Paul E. McKenney <[email protected]>

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

---
 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(-)
arch/arm/configs/afeb9260_defconfig +1 -1
index ce90958..d33451c 100644
@@ -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
arch/arm/configs/am200epdkit_defconfig +1 -1
index 5e68420..d6355df 100644
@@ -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
arch/arm/configs/cm_x300_defconfig +1 -1
index 46f1c9d..c7787bb 100644
@@ -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
arch/arm/configs/corgi_defconfig +1 -1
index 9876543..802975b 100644
@@ -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
arch/arm/configs/csb637_defconfig +1 -1
index 9970214..8383c3b 100644
@@ -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
arch/arm/configs/eseries_pxa_defconfig +1 -1
index 2307587..3030235 100644
@@ -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
arch/arm/configs/ezx_defconfig +1 -1
index 2a84d55..e246493 100644
@@ -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
arch/arm/configs/imx27ads_defconfig +1 -1
index bcd95b8..980fcdd 100644
@@ -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
arch/arm/configs/jornada720_defconfig +1 -1
index 81fadaf..1f5bf9b 100644
@@ -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
arch/arm/configs/kirkwood_defconfig +1 -1
index e3357ba..df8941c 100644
@@ -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
arch/arm/configs/loki_defconfig +1 -1
index 17da7c3..ee097e3 100644
@@ -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
arch/arm/configs/magician_defconfig +1 -1
index 4d11678..7362526 100644
@@ -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
 
 #
arch/arm/configs/mv78xx0_defconfig +1 -1
index d38ebf8..32a5f04 100644
@@ -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
arch/arm/configs/mx31ads_defconfig +1 -1
index e052717..66d48d8 100644
@@ -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
arch/arm/configs/mx31litekit_defconfig +1 -1
index 4f41c41..2f7b5c7 100644
@@ -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
arch/arm/configs/omap3_beagle_defconfig +1 -1
index e042d27..0ad909b 100644
@@ -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
arch/arm/configs/omap_h2_1610_defconfig +1 -1
index c035072..3f0e812 100644
@@ -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
 
 #
arch/arm/configs/omap_ldp_defconfig +1 -1
index 948a212..dd7c822 100644
@@ -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
arch/arm/configs/orion5x_defconfig +1 -1
index b2456ca..ff95936 100644
@@ -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
arch/arm/configs/overo_defconfig +1 -1
index 4920096..ad41df3 100644
@@ -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
arch/arm/configs/palmz72_defconfig +1 -1
index 3245f8f..374dfd2 100644
@@ -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
arch/arm/configs/pcm037_defconfig +1 -1
index 6274745..5217846 100644
@@ -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
arch/arm/configs/pcm038_defconfig +1 -1
index 6b798c2..691774d 100644
@@ -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
arch/arm/configs/s3c2410_defconfig +1 -1
index 35faaea..ff42b35 100644
@@ -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
arch/arm/configs/spitz_defconfig +1 -1
index 4df5b4d..2407ea6 100644
@@ -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
arch/arm/configs/tct_hammer_defconfig +1 -1
index 07dfb98..d961e76 100644
@@ -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
arch/arm/configs/viper_defconfig +1 -1
index d01fecb..ac8a7e2 100644
@@ -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
arch/arm/configs/xm_x2xx_defconfig +1 -1
index f891364..f630bd9 100644
@@ -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
Signature · 1 line
1.5.2.5
#5 lore raw

Re: [PATCH -tip] Switch arm defconfig files from CONFIG_CLASSIC_RCU to CONFIG_TREE_RCU.

Quoted 27 lines · * [email protected] <[email protected]> wrote:

From: Paul E. McKenney <[email protected]>

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

---
 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 +-
Quoted 8 lines
 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

#6 lore raw

Re: [PATCH -tip] Switch arm defconfig files from CONFIG_CLASSIC_RCU to CONFIG_TREE_RCU.

Quoted 39 lines · Ingo Molnar
Quoted 27 lines · * [email protected] <[email protected]> wrote:

From: Paul E. McKenney <[email protected]>

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

---
 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 +-
Quoted 8 lines
 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(-)
Quoted 8 lines

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!

Quoted 2 lines

[ 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

#7 lore raw

PATCH 1/1 Remove redundant RCU_CPU_STALL_DETECTOR declaration

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.

---

 lib/Kconfig.debug |   13 -------------
 1 files changed, 0 insertions(+), 13 deletions(-)
lib/Kconfig.debug +0 -13
index 465d822..8bae51a 100644
@@ -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
Signature · 1 line
1.5.2.5
#8 lore raw

PATCH 1/1 Make hierarchical RCU be the default

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.

---

 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(-)
include/linux/hardirq.h +2 -2
index 9b70b92..0afd180 100644
@@ -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,
include/linux/pagemap.h +2 -2
index 709742b..5cfb133 100644
@@ -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
include/linux/rcupdate.h +2 -2
index bfd289a..819bf83 100644
@@ -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
kernel/Kconfig.preempt +15 -4
index 463f297..417a76b 100644
@@ -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.
 
kernel/Makefile +1 -1
index b4fdbbf..73e9a94 100644
@@ -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
lib/Kconfig.debug +1 -1
index 8bae51a..7739ad8 100644
@@ -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
Signature · 1 line
1.5.2.5
#9 lore raw

Re: [PATCH, -tip] Make hierarchical RCU be the default

include/linux/hardirq.h static inline void account_system_vtime(struct task_struct *tsk) · line 121

Quoted 8 lines · Paul E. McKenney
include/linux/hardirq.h +1 -1
@@ -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

#10 lore raw

Re: [PATCH, -tip] Make hierarchical RCU be the default

Quoted 9 lines · Ingo Molnar
Quoted 6 lines · Paul E. McKenney
include/linux/hardirq.h +0 -0
@@ -118,7 +118,7 @@ static inline void account_system_vtime(struct task_struct *tsk)
 }
 #endif
 
Quoted 4 lines

include/linux/hardirq.h static inline void account_system_vtime(struct task_struct *tsk) · line 121

Quoted 2 lines
include/linux/hardirq.h +1 -1
-#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. ;-)

Quoted 9 lines

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.

---

 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(-)
include/linux/hardirq.h +2 -2
index 9b70b92..0afd180 100644
@@ -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,
include/linux/pagemap.h +2 -2
index 709742b..5cfb133 100644
@@ -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
include/linux/rcupdate.h +2 -2
index bfd289a..819bf83 100644
@@ -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
init/Kconfig +10 -4
index 6b0fded..58d6575 100644
@@ -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.
 
kernel/Makefile +1 -1
index b4fdbbf..73e9a94 100644
@@ -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
lib/Kconfig.debug +1 -1
index 465d822..a036720 100644
@@ -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
#11 lore raw

Re: [PATCH, -tip] Make hierarchical RCU be the default

Quoted 48 lines · Paul E. McKenney
Quoted 9 lines · Ingo Molnar
Quoted 6 lines · Paul E. McKenney
include/linux/hardirq.h +0 -0
@@ -118,7 +118,7 @@ static inline void account_system_vtime(struct task_struct *tsk)
 }
 #endif
 
Quoted 4 lines

include/linux/hardirq.h static inline void account_system_vtime(struct task_struct *tsk) · line 121

Quoted 2 lines
include/linux/hardirq.h +1 -1
-#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. ;-)

Quoted 9 lines

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?

Quoted 6 lines

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

Quoted 144 lines

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

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.

---

 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(-)
include/linux/hardirq.h +2 -2
index 9b70b92..0afd180 100644
@@ -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,
include/linux/pagemap.h +2 -2
index 709742b..5cfb133 100644
@@ -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
include/linux/rcupdate.h +2 -2
index bfd289a..819bf83 100644
@@ -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
init/Kconfig +10 -4
index 6b0fded..58d6575 100644
@@ -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.
 
kernel/Makefile +1 -1
index b4fdbbf..73e9a94 100644
@@ -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
lib/Kconfig.debug +1 -1
index 465d822..a036720 100644
@@ -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
#12 lore raw

PATCH 1/1 v2 Make hierarchical RCU be the default

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.

---

 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(-)
arch/alpha/Kconfig +2 -0
index 6110197..8f4e779 100644
@@ -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"
arch/frv/Kconfig +3 -0
index 9d1552a..0884abc 100644
@@ -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"
arch/h8300/Kconfig +3 -0
index 28f06fd..8b13a5b 100644
@@ -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"
arch/m68k/Kconfig +3 -0
index 836fb66..1759981 100644
@@ -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"
arch/sparc/Kconfig +3 -0
index e594559..daf88ce 100644
@@ -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"
include/linux/hardirq.h +2 -2
index 9b70b92..0afd180 100644
@@ -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,
include/linux/pagemap.h +2 -2
index 709742b..a8f427a 100644
@@ -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
include/linux/rcupdate.h +2 -2
index bfd289a..819bf83 100644
@@ -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
init/Kconfig +0 -87

90 lines not on this page · raw message

kernel/Kconfig.preempt +1 -0
index bf987b9..ac9c4cc 100644
@@ -52,3 +52,4 @@ config PREEMPT
 
 endchoice
 
+source "kernel/Kconfig.rcu"
kernel/Kconfig.rcu new file +100 -0

100 lines not on this page · raw message

kernel/Makefile +1 -1
index b4fdbbf..73e9a94 100644
@@ -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
lib/Kconfig.debug +1 -1
index 465d822..a036720 100644
@@ -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
#13 lore raw

Re: [PATCH -tip] Switch arm defconfig files from CONFIG_CLASSIC_RCU to CONFIG_TREE_RCU.

In reply to Ingo Molnar

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

Ingo

--------------->

Quoted 1 line

From 12d79bafb75639f406a9f71aab94808c414c836e Mon Sep 17 00:00:00 2001

From: Ingo Molnar <[email protected]>
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.

---
 init/Kconfig           |   74 +++++++++++++++++++++++++++++++++++++++++++++++
 kernel/Kconfig.preempt |   75 ------------------------------------------------
 2 files changed, 74 insertions(+), 75 deletions(-)
init/Kconfig +74 -0
index 9dd7958..6b0fded 100644
@@ -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
kernel/Kconfig.preempt +0 -75

78 lines not on this page · raw message

#14 lore raw

Re: [PATCH -tip] Switch arm defconfig files from CONFIG_CLASSIC_RCU to CONFIG_TREE_RCU.

Quoted 3 lines · Ingo Molnar

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

#15 lore raw

Re: [PATCH -tip] Switch arm defconfig files from CONFIG_CLASSIC_RCU to CONFIG_TREE_RCU.

Quoted 12 lines · Sam Ravnborg
Quoted 3 lines · Ingo Molnar

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

Quoted 6 lines

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

#16 lore raw

Re: [PATCH -tip] Switch arm defconfig files from CONFIG_CLASSIC_RCU to CONFIG_TREE_RCU.

Quoted 13 lines · Paul E. McKenney
Quoted 12 lines · Sam Ravnborg
Quoted 3 lines · Ingo Molnar

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

Quoted 8 lines
Quoted 6 lines

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

#17 lore raw

Re: [PATCH -tip] Switch arm defconfig files from CONFIG_CLASSIC_RCU to CONFIG_TREE_RCU.

In reply to Sam Ravnborg
Quoted 12 lines · Sam Ravnborg
Quoted 3 lines · Ingo Molnar

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

Quoted 6 lines

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

#18 lore raw

Re: [PATCH -tip] Switch arm defconfig files from CONFIG_CLASSIC_RCU to CONFIG_TREE_RCU.

In reply to Ingo Molnar
Quoted 3 lines · Ingo Molnar

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

Quoted 195 lines

Ingo

--------------->

Quoted 1 line

From 12d79bafb75639f406a9f71aab94808c414c836e Mon Sep 17 00:00:00 2001

From: Ingo Molnar <[email protected]>
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.

---
 init/Kconfig           |   74 +++++++++++++++++++++++++++++++++++++++++++++++
 kernel/Kconfig.preempt |   75 ------------------------------------------------
 2 files changed, 74 insertions(+), 75 deletions(-)
init/Kconfig +74 -0
index 9dd7958..6b0fded 100644
@@ -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
kernel/Kconfig.preempt +0 -75
index 463f297..bf987b9 100644
@@ -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.
-
-	
#19 lore raw

PATCH 1/1 Switch ia64 defconfig from CONFIG_CLASSIC_RCU to CONFIG_TREE_RCU.

In reply to [email protected]

From: Paul E. McKenney <[email protected]>

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

---
 arch/ia64/configs/generic_defconfig |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
arch/ia64/configs/generic_defconfig +1 -1
index 27eb676..124f14a 100644
@@ -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
 
 #
Signature · 1 line
1.5.2.5
#20 lore raw

PATCH 1/1 Switch m68knommu from CONFIG_CLASSIC_RCU to CONFIG_TREE_RCU.

In reply to [email protected]

From: Paul E. McKenney <[email protected]>

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

---
 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(-)
arch/m68knommu/configs/m5208evb_defconfig +1 -1
index 6fae33a..eed8981 100644
@@ -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
arch/m68knommu/configs/m5249evb_defconfig +1 -1
index cc64583..71956bd 100644
@@ -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
arch/m68knommu/configs/m5275evb_defconfig +1 -1
index 0d1256f..801ec9d 100644
@@ -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
arch/m68knommu/configs/m5307c3_defconfig +1 -1
index fe2acdf..84cffcf 100644
@@ -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
arch/m68knommu/configs/m5407c3_defconfig +1 -1
index 1118936..0a83c3b 100644
@@ -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
Signature · 1 line
1.5.2.5
#21 lore raw

PATCH 1/1 Switch m68k defconfig from CONFIG_CLASSIC_RCU to CONFIG_TREE_RCU.

In reply to [email protected]

From: Paul E. McKenney <[email protected]>

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

---
 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(-)
arch/m68k/configs/amiga_defconfig +1 -1
index 23597be..633e2e4 100644
@@ -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
 
 #
arch/m68k/configs/apollo_defconfig +1 -1
index 935108d..73d5a49 100644
@@ -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
 
 #
arch/m68k/configs/atari_defconfig +1 -1
index a594a1d..d33ac92 100644
@@ -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
 
 #
arch/m68k/configs/bvme6000_defconfig +1 -1
index d3d9814..a3d311d 100644
@@ -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
 
 #
arch/m68k/configs/hp300_defconfig +1 -1
index 5556ef0..f31cd0b 100644
@@ -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
 
 #
arch/m68k/configs/mac_defconfig +1 -1
index c6de257..781855e 100644
@@ -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
 
 #
arch/m68k/configs/multi_defconfig +1 -1
index 7069358..0c2ef99 100644
@@ -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
 
 #
arch/m68k/configs/mvme147_defconfig +1 -1
index 52d4271..679cbc9 100644
@@ -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
 
 #
arch/m68k/configs/mvme16x_defconfig +1 -1
index 3403ed2..96fbf50 100644
@@ -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
 
 #
arch/m68k/configs/q40_defconfig +1 -1
index 3459c59..775170c 100644
@@ -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
 
 #
arch/m68k/configs/sun3_defconfig +1 -1
index f404917..d913aa4 100644
@@ -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
 
 #
arch/m68k/configs/sun3x_defconfig +1 -1
index 4d8a1e8..8ade788 100644
@@ -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
 
 #
Signature · 1 line
1.5.2.5
#22 lore raw

PATCH 1/1 Switch x86 defconfig from CONFIG_CLASSIC_RCU to CONFIG_TREE_RCU.

In reply to [email protected]

From: Paul E. McKenney <[email protected]>

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

---
 arch/x86/configs/i386_defconfig   |    2 +-
 arch/x86/configs/x86_64_defconfig |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
arch/x86/configs/i386_defconfig +1 -1
index 13b8c86..bfb15bf 100644
@@ -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
arch/x86/configs/x86_64_defconfig +1 -1
index f0a03d7..bf9d3f5 100644
@@ -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
Signature · 1 line
1.5.2.5
#23 lore raw

PATCH 1/1 Switch mips defconfig from CONFIG_CLASSIC_RCU to CONFIG_TREE_RCU.

In reply to [email protected]

From: Paul E. McKenney <[email protected]>

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

---
 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(-)
arch/mips/configs/bcm47xx_defconfig +1 -1
index d869433..a85564a 100644
@@ -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
 
 #
arch/mips/configs/bigsur_defconfig +1 -1
index a3bbbf0..07407f5 100644
@@ -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)
arch/mips/configs/cobalt_defconfig +1 -1
index eb44b72..306ffa0 100644
@@ -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)
arch/mips/configs/fulong_defconfig +1 -1
index b6698a2..4636f87 100644
@@ -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
 
 #
arch/mips/configs/ip22_defconfig +1 -1
index 1158228..1600dd8 100644
@@ -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
 
 #
arch/mips/configs/ip28_defconfig +1 -1
index 70a744e..932f093 100644
@@ -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
 
 #
arch/mips/configs/ip32_defconfig +1 -1
index de4c7a0..c3e5190 100644
@@ -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
 
 #
arch/mips/configs/jmr3927_defconfig +1 -1
index 9d5bd2a..e97ba5e 100644
@@ -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)
arch/mips/configs/malta_defconfig +1 -1
index 1ecdd3b..bb6ee17 100644
@@ -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
 
 #
arch/mips/configs/pnx8335-stb225_defconfig +1 -1
index d953652..524c779 100644
@@ -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)
arch/mips/configs/rb532_defconfig +1 -1
index f28dc32..52d1ee5 100644
@@ -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)
arch/mips/configs/rbtx49xx_defconfig +1 -1
index c7c0864..b0c2cbb 100644
@@ -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)
arch/mips/configs/sb1250-swarm_defconfig +1 -1
index a9acaa2..ecf9b61 100644
@@ -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)
arch/mips/configs/tb0219_defconfig +1 -1
index b505988..ceeb5a4 100644
@@ -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)
arch/mips/configs/tb0226_defconfig +1 -1
index b06a716..15e5b10 100644
@@ -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)
arch/mips/configs/tb0287_defconfig +1 -1
index 46512cf..87f5f3c 100644
@@ -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)
Signature · 1 line
1.5.2.5
#24 lore raw

PATCH 1/1 Switch mn10300 defconfig from CONFIG_CLASSIC_RCU to CONFIG_TREE_RCU.

In reply to [email protected]

From: Paul E. McKenney <[email protected]>

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

---
 arch/mn10300/configs/asb2303_defconfig |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
arch/mn10300/configs/asb2303_defconfig +1 -1
index 3aa8906..4b3695f 100644
@@ -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
 
 #
Signature · 1 line
1.5.2.5
#25 lore raw

PATCH 1/1 Switch powerpc defconfig from CONFIG_CLASSIC_RCU to CONFIG_TREE_RCU.

In reply to [email protected]

From: Paul E. McKenney <[email protected]>

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

---
 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(-)
arch/powerpc/configs/adder875_defconfig +1 -1
index 024f279..44a9c33 100644
@@ -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
 
 #
arch/powerpc/configs/c2k_defconfig +1 -1
index 5078594..fdd2796 100644
@@ -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
 
 #
arch/powerpc/configs/cell_defconfig +1 -1
index c420e47..2a0c357 100644
@@ -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
arch/powerpc/configs/celleb_defconfig +1 -1
index 9ba3c6f..b63cd4a 100644
@@ -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
arch/powerpc/configs/chrp32_defconfig +1 -1
index 63b3c23..f43c2cb 100644
@@ -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
 
 #
arch/powerpc/configs/ep8248e_defconfig +1 -1
index a6f1cff..a69daca 100644
@@ -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
 
 #
arch/powerpc/configs/ep88xc_defconfig +1 -1
index 870d289..4d416fd 100644
@@ -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
 
 #
arch/powerpc/configs/g5_defconfig +1 -1
index f85e71c..02e0ec5 100644
@@ -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
 
arch/powerpc/configs/iseries_defconfig +1 -1
index f925c55..affb125 100644
@@ -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
 
 #
arch/powerpc/configs/linkstation_defconfig +1 -1
index 54fa624..4c68773 100644
@@ -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
 
 #
arch/powerpc/configs/maple_defconfig +1 -1
index 045f1b0..04a93cb 100644
@@ -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
 
arch/powerpc/configs/mgcoge_defconfig +1 -1
index 8d3c623..c8b2e66 100644
@@ -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
 
 #
arch/powerpc/configs/mgsuvd_defconfig +1 -1
index fbaa67f..c80e2ce 100644
@@ -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
 
 #
arch/powerpc/configs/mpc5200_defconfig +1 -1
index 15c5604..1e92faf 100644
@@ -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
 
 #
arch/powerpc/configs/mpc7448_hpc2_defconfig +1 -1
index f80b1ca..7632280 100644
@@ -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
 
 #
arch/powerpc/configs/mpc8272_ads_defconfig +1 -1
index c8f5dec..49963eb 100644
@@ -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
 
 #
arch/powerpc/configs/mpc83xx_defconfig +1 -1
index d582014..557601c 100644
@@ -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
 
 #
arch/powerpc/configs/mpc85xx_defconfig +1 -1
index c87b53a..506aad1 100644
@@ -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
 
 #
arch/powerpc/configs/mpc866_ads_defconfig +1 -1
index 8272b1a..09d7670 100644
@@ -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
 
 #
arch/powerpc/configs/mpc86xx_defconfig +1 -1
index 1736bbc..3dc03cc 100644
@@ -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
 
 #
arch/powerpc/configs/mpc885_ads_defconfig +1 -1
index a4283b6..2c43aaf 100644
@@ -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
 
 #
arch/powerpc/configs/pasemi_defconfig +1 -1
index 199e5f5..90d1ae3 100644
@@ -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
arch/powerpc/configs/pmac32_defconfig +1 -1
index de9b121..ff1f64b 100644
@@ -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
 
 #
arch/powerpc/configs/ppc40x_defconfig +1 -1
index 4256e2c..d55f2fc 100644
@@ -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
 
arch/powerpc/configs/ppc44x_defconfig +1 -1
index cfc94cf..fec4fe7 100644
@@ -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
 
arch/powerpc/configs/ppc64_defconfig +1 -1
index 069ae1b..9921dda 100644
@@ -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
 
arch/powerpc/configs/ppc6xx_defconfig +1 -1
index 01f05ec..ce71c65 100644
@@ -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
 
arch/powerpc/configs/pq2fads_defconfig +1 -1
index 228099d..bcd7ae6 100644
@@ -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
 
 #
arch/powerpc/configs/prpmc2800_defconfig +1 -1
index 6046dc0..4775379 100644
@@ -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
 
 #
arch/powerpc/configs/ps3_defconfig +1 -1
index b6eee7c..638cae2 100644
@@ -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
arch/powerpc/configs/pseries_defconfig +1 -1
index 1e520ab..f4084b4 100644
@@ -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
 
arch/powerpc/configs/storcenter_defconfig +1 -1
index b3f5671..b7a5a33 100644
@@ -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
 
 #
Signature · 1 line
1.5.2.5
#26 lore raw

PATCH 1/1 Switch sh defconfig from CONFIG_CLASSIC_RCU to CONFIG_TREE_RCU.

In reply to [email protected]

From: Paul E. McKenney <[email protected]>

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

---
 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(-)
arch/sh/configs/ap325rxa_defconfig +1 -1
index 874dd97..06f02cb 100644
@@ -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
 
 #
arch/sh/configs/cayman_defconfig +1 -1
index e21c0e8..77a086a 100644
@@ -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
 
 #
arch/sh/configs/dreamcast_defconfig +1 -1
index be4c2e0..8068c70 100644
@@ -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
 
 #
arch/sh/configs/edosk7760_defconfig +1 -1
index 1580068..f75b8b1 100644
@@ -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
 
 #
arch/sh/configs/hp6xx_defconfig +1 -1
index 1032b23..34e8004 100644
@@ -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
 
 #
arch/sh/configs/landisk_defconfig +1 -1
index b82dfb4..c4df0ea 100644
@@ -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
 
 #
arch/sh/configs/lboxre2_defconfig +1 -1
index c3ecedf..a1e1ddc 100644
@@ -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
 
 #
arch/sh/configs/magicpanelr2_defconfig +1 -1
index 499ed72..21ecff4 100644
@@ -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
 
 #
arch/sh/configs/microdev_defconfig +1 -1
index b8ada8c..df13cc8 100644
@@ -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
 
 #
arch/sh/configs/migor_defconfig +1 -1
index 30cac42..bc55c93 100644
@@ -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
 
 #
arch/sh/configs/r7780mp_defconfig +1 -1
index 2e65149..74fbca9 100644
@@ -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
 
 #
arch/sh/configs/r7785rp_defconfig +1 -1
index 043a8a5..c48b46f 100644
@@ -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
 
 #
arch/sh/configs/rsk7203_defconfig +1 -1
index 85b0ac4..4d7856b 100644
@@ -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
 
 #
arch/sh/configs/rts7751r2d1_defconfig +1 -1
index 7d2a9e8..b3be632 100644
@@ -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
 
 #
arch/sh/configs/rts7751r2dplus_defconfig +1 -1
index f680d3e..d0f85f4 100644
@@ -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
 
 #
arch/sh/configs/rts7751r2dplus_qemu_defconfig +1 -1
index ae8f630..2141acf 100644
@@ -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
 
 #
arch/sh/configs/sdk7780_defconfig +1 -1
index 543287b..48883e1 100644
@@ -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
 
 #
arch/sh/configs/se7206_defconfig +1 -1
index 25717ff..c58a94c 100644
@@ -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
 
 #
arch/sh/configs/se7343_defconfig +1 -1
index 075f42e..a8d6f21 100644
@@ -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
 
 #
arch/sh/configs/se7619_defconfig +1 -1
index db9cacd..7c7aa4c 100644
@@ -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
 
 #
arch/sh/configs/se7705_defconfig +1 -1
index d88190f..02940ae 100644
@@ -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
 
 #
arch/sh/configs/se7712_defconfig +1 -1
index 869ab17..1e9eb57 100644
@@ -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
 
 #
arch/sh/configs/se7721_defconfig +1 -1
index b52be14..ae8094b 100644
@@ -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
 
 #
arch/sh/configs/se7722_defconfig +1 -1
index e6df51f..04a3bf6 100644
@@ -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
 
 #
arch/sh/configs/se7750_defconfig +1 -1
index a577099..21ddf9e 100644
@@ -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
 
 #
arch/sh/configs/se7751_defconfig +1 -1
index d99a6bd..26f1826 100644
@@ -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
 
 #
arch/sh/configs/se7780_defconfig +1 -1
index ad95b80..4638101 100644
@@ -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
 
 #
arch/sh/configs/sh03_defconfig +1 -1
index 95f0f5d..40315df 100644
@@ -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
 
 #
arch/sh/configs/sh7710voipgw_defconfig +1 -1
index 9a768b2..d7713df 100644
@@ -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
 
 #
arch/sh/configs/sh7763rdp_defconfig +1 -1
index 6a77f69..59c868a 100644
@@ -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
 
 #
arch/sh/configs/sh7785lcr_defconfig +1 -1
index 07e33c2..4da3419 100644
@@ -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
 
 #
arch/sh/configs/shmin_defconfig +1 -1
index e2b38a3..d00078f 100644
@@ -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
 
 #
arch/sh/configs/shx3_defconfig +1 -1
index ae5cbe2..d818bc7 100644
@@ -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
 
 #
arch/sh/configs/snapgear_defconfig +1 -1
index b4ca511..cb3721b 100644
@@ -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
 
 #
arch/sh/configs/systemh_defconfig +1 -1
index 1711f0f..5e379ac 100644
@@ -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
 
 #
arch/sh/configs/titan_defconfig +1 -1
index ea3c5e8..8b2d940 100644
@@ -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
 
 #
arch/sh/configs/ul2_defconfig +1 -1
index 9afff67..7da83b1 100644
@@ -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
 
 #
Signature · 1 line
1.5.2.5