aboutsummaryrefslogtreecommitdiffstats
path: root/init/Kconfig
diff options
context:
space:
mode:
Diffstat (limited to 'init/Kconfig')
-rw-r--r--init/Kconfig26
1 files changed, 22 insertions, 4 deletions
diff --git a/init/Kconfig b/init/Kconfig
index 1ef0b439908e..7b920aafa98a 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -347,6 +347,7 @@ choice
347 347
348config TREE_RCU 348config TREE_RCU
349 bool "Tree-based hierarchical RCU" 349 bool "Tree-based hierarchical RCU"
350 depends on !PREEMPT && SMP
350 help 351 help
351 This option selects the RCU implementation that is 352 This option selects the RCU implementation that is
352 designed for very large SMP system with hundreds or 353 designed for very large SMP system with hundreds or
@@ -354,7 +355,7 @@ config TREE_RCU
354 smaller systems. 355 smaller systems.
355 356
356config TREE_PREEMPT_RCU 357config TREE_PREEMPT_RCU
357 bool "Preemptable tree-based hierarchical RCU" 358 bool "Preemptible tree-based hierarchical RCU"
358 depends on PREEMPT 359 depends on PREEMPT
359 help 360 help
360 This option selects the RCU implementation that is 361 This option selects the RCU implementation that is
@@ -372,8 +373,22 @@ config TINY_RCU
372 is not required. This option greatly reduces the 373 is not required. This option greatly reduces the
373 memory footprint of RCU. 374 memory footprint of RCU.
374 375
376config TINY_PREEMPT_RCU
377 bool "Preemptible UP-only small-memory-footprint RCU"
378 depends on !SMP && PREEMPT
379 help
380 This option selects the RCU implementation that is designed
381 for real-time UP systems. This option greatly reduces the
382 memory footprint of RCU.
383
375endchoice 384endchoice
376 385
386config PREEMPT_RCU
387 def_bool ( TREE_PREEMPT_RCU || TINY_PREEMPT_RCU )
388 help
389 This option enables preemptible-RCU code that is common between
390 the TREE_PREEMPT_RCU and TINY_PREEMPT_RCU implementations.
391
377config RCU_TRACE 392config RCU_TRACE
378 bool "Enable tracing for RCU" 393 bool "Enable tracing for RCU"
379 depends on TREE_RCU || TREE_PREEMPT_RCU 394 depends on TREE_RCU || TREE_PREEMPT_RCU
@@ -394,9 +409,12 @@ config RCU_FANOUT
394 help 409 help
395 This option controls the fanout of hierarchical implementations 410 This option controls the fanout of hierarchical implementations
396 of RCU, allowing RCU to work efficiently on machines with 411 of RCU, allowing RCU to work efficiently on machines with
397 large numbers of CPUs. This value must be at least the cube 412 large numbers of CPUs. This value must be at least the fourth
398 root of NR_CPUS, which allows NR_CPUS up to 32,768 for 32-bit 413 root of NR_CPUS, which allows NR_CPUS to be insanely large.
399 systems and up to 262,144 for 64-bit systems. 414 The default value of RCU_FANOUT should be used for production
415 systems, but if you are stress-testing the RCU implementation
416 itself, small RCU_FANOUT values allow you to test large-system
417 code paths on small(er) systems.
400 418
401 Select a specific number if testing RCU itself. 419 Select a specific number if testing RCU itself.
402 Take the default if unsure. 420 Take the default if unsure.