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