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