diff options
Diffstat (limited to 'init/Kconfig')
-rw-r--r-- | init/Kconfig | 149 |
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 | ||
302 | config 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 | |||
302 | config CGROUP_DEVICE | 309 | config 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 | ||
352 | choice | 359 | choice |
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 | ||
591 | config 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 | |||
580 | config KALLSYMS_EXTRA_PASS | 598 | config 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 | ||
734 | config 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 | |||
716 | config VM_EVENT_COUNTERS | 742 | config 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 | ||
751 | config 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 | |||
725 | config SLUB_DEBUG | 760 | config 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 | ||
749 | config SLUB | 783 | config 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 | ||
758 | config SLOB | 793 | config 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 | # | ||
813 | config TRACEPOINTS | ||
814 | bool | ||
815 | |||
774 | config MARKERS | 816 | config 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" | |||
893 | config PREEMPT_NOTIFIERS | 936 | config PREEMPT_NOTIFIERS |
894 | bool | 937 | bool |
895 | 938 | ||
939 | choice | ||
940 | prompt "RCU Implementation" | ||
941 | default CLASSIC_RCU | ||
942 | |||
896 | config CLASSIC_RCU | 943 | config 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 | |||
952 | config 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 | |||
959 | config 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 | |||
970 | endchoice | ||
971 | |||
972 | config 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 | |||
982 | config 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 | |||
999 | config 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 | |||
1013 | config 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 | |||
1020 | config 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. | ||