aboutsummaryrefslogtreecommitdiffstats
path: root/init/Kconfig
diff options
context:
space:
mode:
Diffstat (limited to 'init/Kconfig')
-rw-r--r--init/Kconfig47
1 files changed, 39 insertions, 8 deletions
diff --git a/init/Kconfig b/init/Kconfig
index d742b6fca8d2..fdfd97efe0e0 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -21,6 +21,13 @@ config CONSTRUCTORS
21 depends on !UML 21 depends on !UML
22 default y 22 default y
23 23
24config HAVE_IRQ_WORK
25 bool
26
27config IRQ_WORK
28 bool
29 depends on HAVE_IRQ_WORK
30
24menu "General setup" 31menu "General setup"
25 32
26config EXPERIMENTAL 33config EXPERIMENTAL
@@ -64,7 +71,7 @@ config BROKEN_ON_SMP
64 71
65config LOCK_KERNEL 72config LOCK_KERNEL
66 bool 73 bool
67 depends on SMP || PREEMPT 74 depends on (SMP || PREEMPT) && BKL
68 default y 75 default y
69 76
70config INIT_ENV_ARG_LIMIT 77config INIT_ENV_ARG_LIMIT
@@ -332,6 +339,8 @@ config AUDIT_TREE
332 depends on AUDITSYSCALL 339 depends on AUDITSYSCALL
333 select FSNOTIFY 340 select FSNOTIFY
334 341
342source "kernel/irq/Kconfig"
343
335menu "RCU Subsystem" 344menu "RCU Subsystem"
336 345
337choice 346choice
@@ -340,6 +349,7 @@ choice
340 349
341config TREE_RCU 350config TREE_RCU
342 bool "Tree-based hierarchical RCU" 351 bool "Tree-based hierarchical RCU"
352 depends on !PREEMPT && SMP
343 help 353 help
344 This option selects the RCU implementation that is 354 This option selects the RCU implementation that is
345 designed for very large SMP system with hundreds or 355 designed for very large SMP system with hundreds or
@@ -347,7 +357,7 @@ config TREE_RCU
347 smaller systems. 357 smaller systems.
348 358
349config TREE_PREEMPT_RCU 359config TREE_PREEMPT_RCU
350 bool "Preemptable tree-based hierarchical RCU" 360 bool "Preemptible tree-based hierarchical RCU"
351 depends on PREEMPT 361 depends on PREEMPT
352 help 362 help
353 This option selects the RCU implementation that is 363 This option selects the RCU implementation that is
@@ -365,8 +375,22 @@ config TINY_RCU
365 is not required. This option greatly reduces the 375 is not required. This option greatly reduces the
366 memory footprint of RCU. 376 memory footprint of RCU.
367 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
368endchoice 386endchoice
369 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
370config RCU_TRACE 394config RCU_TRACE
371 bool "Enable tracing for RCU" 395 bool "Enable tracing for RCU"
372 depends on TREE_RCU || TREE_PREEMPT_RCU 396 depends on TREE_RCU || TREE_PREEMPT_RCU
@@ -387,9 +411,12 @@ config RCU_FANOUT
387 help 411 help
388 This option controls the fanout of hierarchical implementations 412 This option controls the fanout of hierarchical implementations
389 of RCU, allowing RCU to work efficiently on machines with 413 of RCU, allowing RCU to work efficiently on machines with
390 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
391 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.
392 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.
393 420
394 Select a specific number if testing RCU itself. 421 Select a specific number if testing RCU itself.
395 Take the default if unsure. 422 Take the default if unsure.
@@ -634,11 +661,14 @@ config BLK_CGROUP
634 661
635 Currently, CFQ IO scheduler uses it to recognize task groups and 662 Currently, CFQ IO scheduler uses it to recognize task groups and
636 control disk bandwidth allocation (proportional time slice allocation) 663 control disk bandwidth allocation (proportional time slice allocation)
637 to such task groups. 664 to such task groups. It is also used by bio throttling logic in
665 block layer to implement upper limit in IO rates on a device.
638 666
639 This option only enables generic Block IO controller infrastructure. 667 This option only enables generic Block IO controller infrastructure.
640 One needs to also enable actual IO controlling logic in CFQ for it 668 One needs to also enable actual IO controlling logic/policy. For
641 to take effect. (CONFIG_CFQ_GROUP_IOSCHED=y). 669 enabling proportional weight division of disk bandwidth in CFQ seti
670 CONFIG_CFQ_GROUP_IOSCHED=y and for enabling throttling policy set
671 CONFIG_BLK_THROTTLE=y.
642 672
643 See Documentation/cgroups/blkio-controller.txt for more information. 673 See Documentation/cgroups/blkio-controller.txt for more information.
644 674
@@ -989,6 +1019,7 @@ config PERF_EVENTS
989 default y if (PROFILING || PERF_COUNTERS) 1019 default y if (PROFILING || PERF_COUNTERS)
990 depends on HAVE_PERF_EVENTS 1020 depends on HAVE_PERF_EVENTS
991 select ANON_INODES 1021 select ANON_INODES
1022 select IRQ_WORK
992 help 1023 help
993 Enable kernel support for various performance events provided 1024 Enable kernel support for various performance events provided
994 by software and hardware. 1025 by software and hardware.