aboutsummaryrefslogtreecommitdiffstats
path: root/init/Kconfig
diff options
context:
space:
mode:
Diffstat (limited to 'init/Kconfig')
-rw-r--r--init/Kconfig149
1 files changed, 136 insertions, 13 deletions
diff --git a/init/Kconfig b/init/Kconfig
index 8a8e2d00c40e..13627191a60d 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -299,6 +299,13 @@ config CGROUP_NS
299 for instance virtual servers and checkpoint/restart 299 for instance virtual servers and checkpoint/restart
300 jobs. 300 jobs.
301 301
302config CGROUP_FREEZER
303 bool "control group freezer subsystem"
304 depends on CGROUPS
305 help
306 Provides a way to freeze and unfreeze all tasks in a
307 cgroup.
308
302config CGROUP_DEVICE 309config CGROUP_DEVICE
303 bool "Device controller for cgroups" 310 bool "Device controller for cgroups"
304 depends on CGROUPS && EXPERIMENTAL 311 depends on CGROUPS && EXPERIMENTAL
@@ -347,7 +354,7 @@ config RT_GROUP_SCHED
347 setting below. If enabled, it will also make it impossible to 354 setting below. If enabled, it will also make it impossible to
348 schedule realtime tasks for non-root users until you allocate 355 schedule realtime tasks for non-root users until you allocate
349 realtime bandwidth for them. 356 realtime bandwidth for them.
350 See Documentation/sched-rt-group.txt for more information. 357 See Documentation/scheduler/sched-rt-group.txt for more information.
351 358
352choice 359choice
353 depends on GROUP_SCHED 360 depends on GROUP_SCHED
@@ -394,16 +401,20 @@ config CGROUP_MEM_RES_CTLR
394 depends on CGROUPS && RESOURCE_COUNTERS 401 depends on CGROUPS && RESOURCE_COUNTERS
395 select MM_OWNER 402 select MM_OWNER
396 help 403 help
397 Provides a memory resource controller that manages both page cache and 404 Provides a memory resource controller that manages both anonymous
398 RSS memory. 405 memory and page cache. (See Documentation/controllers/memory.txt)
399 406
400 Note that setting this option increases fixed memory overhead 407 Note that setting this option increases fixed memory overhead
401 associated with each page of memory in the system by 4/8 bytes 408 associated with each page of memory in the system. By this,
402 and also increases cache misses because struct page on many 64bit 409 20(40)bytes/PAGE_SIZE on 32(64)bit system will be occupied by memory
403 systems will not fit into a single cache line anymore. 410 usage tracking struct at boot. Total amount of this is printed out
411 at boot.
404 412
405 Only enable when you're ok with these trade offs and really 413 Only enable when you're ok with these trade offs and really
406 sure you need the memory resource controller. 414 sure you need the memory resource controller. Even when you enable
415 this, you can set "cgroup_disable=memory" at your boot option to
416 disable memory resource controller and you can avoid overheads.
417 (and lose benefits of memory resource contoller)
407 418
408 This config option also selects MM_OWNER config option, which 419 This config option also selects MM_OWNER config option, which
409 could in turn add some fork/exit overhead. 420 could in turn add some fork/exit overhead.
@@ -577,6 +588,13 @@ config KALLSYMS_ALL
577 588
578 Say N. 589 Say N.
579 590
591config KALLSYMS_STRIP_GENERATED
592 bool "Strip machine generated symbols from kallsyms"
593 depends on KALLSYMS_ALL
594 default y
595 help
596 Say N if you want kallsyms to retain even machine generated symbols.
597
580config KALLSYMS_EXTRA_PASS 598config KALLSYMS_EXTRA_PASS
581 bool "Do an extra kallsyms pass" 599 bool "Do an extra kallsyms pass"
582 depends on KALLSYMS 600 depends on KALLSYMS
@@ -713,6 +731,14 @@ config SHMEM
713 option replaces shmem and tmpfs with the much simpler ramfs code, 731 option replaces shmem and tmpfs with the much simpler ramfs code,
714 which may be appropriate on small systems without swap. 732 which may be appropriate on small systems without swap.
715 733
734config AIO
735 bool "Enable AIO support" if EMBEDDED
736 default y
737 help
738 This option enables POSIX asynchronous I/O which may by used
739 by some high performance threaded applications. Disabling
740 this option saves about 7k.
741
716config VM_EVENT_COUNTERS 742config VM_EVENT_COUNTERS
717 default y 743 default y
718 bool "Enable VM event counters for /proc/vmstat" if EMBEDDED 744 bool "Enable VM event counters for /proc/vmstat" if EMBEDDED
@@ -722,6 +748,15 @@ config VM_EVENT_COUNTERS
722 on EMBEDDED systems. /proc/vmstat will only show page counts 748 on EMBEDDED systems. /proc/vmstat will only show page counts
723 if VM event counters are disabled. 749 if VM event counters are disabled.
724 750
751config PCI_QUIRKS
752 default y
753 bool "Enable PCI quirk workarounds" if EMBEDDED
754 depends on PCI
755 help
756 This enables workarounds for various PCI chipset
757 bugs/quirks. Disable this only if your target machine is
758 unaffected by PCI quirks.
759
725config SLUB_DEBUG 760config SLUB_DEBUG
726 default y 761 default y
727 bool "Enable SLUB debugging support" if EMBEDDED 762 bool "Enable SLUB debugging support" if EMBEDDED
@@ -743,8 +778,7 @@ config SLAB
743 help 778 help
744 The regular slab allocator that is established and known to work 779 The regular slab allocator that is established and known to work
745 well in all environments. It organizes cache hot objects in 780 well in all environments. It organizes cache hot objects in
746 per cpu and per node queues. SLAB is the default choice for 781 per cpu and per node queues.
747 a slab allocator.
748 782
749config SLUB 783config SLUB
750 bool "SLUB (Unqueued Allocator)" 784 bool "SLUB (Unqueued Allocator)"
@@ -753,7 +787,8 @@ config SLUB
753 instead of managing queues of cached objects (SLAB approach). 787 instead of managing queues of cached objects (SLAB approach).
754 Per cpu caching is realized using slabs of objects instead 788 Per cpu caching is realized using slabs of objects instead
755 of queues of objects. SLUB can use memory efficiently 789 of queues of objects. SLUB can use memory efficiently
756 and has enhanced diagnostics. 790 and has enhanced diagnostics. SLUB is the default choice for
791 a slab allocator.
757 792
758config SLOB 793config SLOB
759 depends on EMBEDDED 794 depends on EMBEDDED
@@ -771,8 +806,16 @@ config PROFILING
771 Say Y here to enable the extended profiling support mechanisms used 806 Say Y here to enable the extended profiling support mechanisms used
772 by profilers such as OProfile. 807 by profilers such as OProfile.
773 808
809#
810# Place an empty function call at each tracepoint site. Can be
811# dynamically changed for a probe function.
812#
813config TRACEPOINTS
814 bool
815
774config MARKERS 816config MARKERS
775 bool "Activate markers" 817 bool "Activate markers"
818 depends on TRACEPOINTS
776 help 819 help
777 Place an empty function call at each marker site. Can be 820 Place an empty function call at each marker site. Can be
778 dynamically changed for a probe function. 821 dynamically changed for a probe function.
@@ -893,10 +936,90 @@ source "block/Kconfig"
893config PREEMPT_NOTIFIERS 936config PREEMPT_NOTIFIERS
894 bool 937 bool
895 938
939choice
940 prompt "RCU Implementation"
941 default CLASSIC_RCU
942
896config CLASSIC_RCU 943config CLASSIC_RCU
897 def_bool !PREEMPT_RCU 944 bool "Classic RCU"
898 help 945 help
899 This option selects the classic RCU implementation that is 946 This option selects the classic RCU implementation that is
900 designed for best read-side performance on non-realtime 947 designed for best read-side performance on non-realtime
901 systems. Classic RCU is the default. Note that the 948 systems.
902 PREEMPT_RCU symbol is used to select/deselect this option. 949
950 Select this option if you are unsure.
951
952config TREE_RCU
953 bool "Tree-based hierarchical RCU"
954 help
955 This option selects the RCU implementation that is
956 designed for very large SMP system with hundreds or
957 thousands of CPUs.
958
959config PREEMPT_RCU
960 bool "Preemptible RCU"
961 depends on PREEMPT
962 help
963 This option reduces the latency of the kernel by making certain
964 RCU sections preemptible. Normally RCU code is non-preemptible, if
965 this option is selected then read-only RCU sections become
966 preemptible. This helps latency, but may expose bugs due to
967 now-naive assumptions about each RCU read-side critical section
968 remaining on a given CPU through its execution.
969
970endchoice
971
972config RCU_TRACE
973 bool "Enable tracing for RCU"
974 depends on TREE_RCU || PREEMPT_RCU
975 help
976 This option provides tracing in RCU which presents stats
977 in debugfs for debugging RCU implementation.
978
979 Say Y here if you want to enable RCU tracing
980 Say N if you are unsure.
981
982config RCU_FANOUT
983 int "Tree-based hierarchical RCU fanout value"
984 range 2 64 if 64BIT
985 range 2 32 if !64BIT
986 depends on TREE_RCU
987 default 64 if 64BIT
988 default 32 if !64BIT
989 help
990 This option controls the fanout of hierarchical implementations
991 of RCU, allowing RCU to work efficiently on machines with
992 large numbers of CPUs. This value must be at least the cube
993 root of NR_CPUS, which allows NR_CPUS up to 32,768 for 32-bit
994 systems and up to 262,144 for 64-bit systems.
995
996 Select a specific number if testing RCU itself.
997 Take the default if unsure.
998
999config RCU_FANOUT_EXACT
1000 bool "Disable tree-based hierarchical RCU auto-balancing"
1001 depends on TREE_RCU
1002 default n
1003 help
1004 This option forces use of the exact RCU_FANOUT value specified,
1005 regardless of imbalances in the hierarchy. This is useful for
1006 testing RCU itself, and might one day be useful on systems with
1007 strong NUMA behavior.
1008
1009 Without RCU_FANOUT_EXACT, the code will balance the hierarchy.
1010
1011 Say N if unsure.
1012
1013config TREE_RCU_TRACE
1014 def_bool RCU_TRACE && TREE_RCU
1015 select DEBUG_FS
1016 help
1017 This option provides tracing for the TREE_RCU implementation,
1018 permitting Makefile to trivially select kernel/rcutree_trace.c.
1019
1020config PREEMPT_RCU_TRACE
1021 def_bool RCU_TRACE && PREEMPT_RCU
1022 select DEBUG_FS
1023 help
1024 This option provides tracing for the PREEMPT_RCU implementation,
1025 permitting Makefile to trivially select kernel/rcupreempt_trace.c.