aboutsummaryrefslogtreecommitdiffstats
path: root/init/Kconfig
diff options
context:
space:
mode:
Diffstat (limited to 'init/Kconfig')
-rw-r--r--init/Kconfig177
1 files changed, 100 insertions, 77 deletions
diff --git a/init/Kconfig b/init/Kconfig
index 35518243c4bd..526ec1c7456a 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
@@ -179,7 +186,7 @@ config KERNEL_LZO
179 depends on HAVE_KERNEL_LZO 186 depends on HAVE_KERNEL_LZO
180 help 187 help
181 Its compression ratio is the poorest among the 4. The kernel 188 Its compression ratio is the poorest among the 4. The kernel
182 size is about about 10% bigger than gzip; however its speed 189 size is about 10% bigger than gzip; however its speed
183 (both compression and decompression) is the fastest. 190 (both compression and decompression) is the fastest.
184 191
185endchoice 192endchoice
@@ -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
@@ -562,7 +571,6 @@ if CGROUPS
562 571
563config CGROUP_DEBUG 572config CGROUP_DEBUG
564 bool "Example debug cgroup subsystem" 573 bool "Example debug cgroup subsystem"
565 depends on CGROUPS
566 default n 574 default n
567 help 575 help
568 This option enables a simple cgroup subsystem that 576 This option enables a simple cgroup subsystem that
@@ -573,7 +581,6 @@ config CGROUP_DEBUG
573 581
574config CGROUP_NS 582config CGROUP_NS
575 bool "Namespace cgroup subsystem" 583 bool "Namespace cgroup subsystem"
576 depends on CGROUPS
577 help 584 help
578 Provides a simple namespace cgroup subsystem to 585 Provides a simple namespace cgroup subsystem to
579 provide hierarchical naming of sets of namespaces, 586 provide hierarchical naming of sets of namespaces,
@@ -582,21 +589,18 @@ config CGROUP_NS
582 589
583config CGROUP_FREEZER 590config CGROUP_FREEZER
584 bool "Freezer cgroup subsystem" 591 bool "Freezer cgroup subsystem"
585 depends on CGROUPS
586 help 592 help
587 Provides a way to freeze and unfreeze all tasks in a 593 Provides a way to freeze and unfreeze all tasks in a
588 cgroup. 594 cgroup.
589 595
590config CGROUP_DEVICE 596config CGROUP_DEVICE
591 bool "Device controller for cgroups" 597 bool "Device controller for cgroups"
592 depends on CGROUPS && EXPERIMENTAL
593 help 598 help
594 Provides a cgroup implementing whitelists for devices which 599 Provides a cgroup implementing whitelists for devices which
595 a process in the cgroup can mknod or open. 600 a process in the cgroup can mknod or open.
596 601
597config CPUSETS 602config CPUSETS
598 bool "Cpuset support" 603 bool "Cpuset support"
599 depends on CGROUPS
600 help 604 help
601 This option will let you create and manage CPUSETs which 605 This option will let you create and manage CPUSETs which
602 allow dynamically partitioning a system into sets of CPUs and 606 allow dynamically partitioning a system into sets of CPUs and
@@ -612,7 +616,6 @@ config PROC_PID_CPUSET
612 616
613config CGROUP_CPUACCT 617config CGROUP_CPUACCT
614 bool "Simple CPU accounting cgroup subsystem" 618 bool "Simple CPU accounting cgroup subsystem"
615 depends on CGROUPS
616 help 619 help
617 Provides a simple Resource Controller for monitoring the 620 Provides a simple Resource Controller for monitoring the
618 total CPU consumed by the tasks in a cgroup. 621 total CPU consumed by the tasks in a cgroup.
@@ -622,11 +625,10 @@ config RESOURCE_COUNTERS
622 help 625 help
623 This option enables controller independent resource accounting 626 This option enables controller independent resource accounting
624 infrastructure that works with cgroups. 627 infrastructure that works with cgroups.
625 depends on CGROUPS
626 628
627config CGROUP_MEM_RES_CTLR 629config CGROUP_MEM_RES_CTLR
628 bool "Memory Resource Controller for Control Groups" 630 bool "Memory Resource Controller for Control Groups"
629 depends on CGROUPS && RESOURCE_COUNTERS 631 depends on RESOURCE_COUNTERS
630 select MM_OWNER 632 select MM_OWNER
631 help 633 help
632 Provides a memory resource controller that manages both anonymous 634 Provides a memory resource controller that manages both anonymous
@@ -664,10 +666,23 @@ config CGROUP_MEM_RES_CTLR_SWAP
664 if boot option "noswapaccount" is set, swap will not be accounted. 666 if boot option "noswapaccount" is set, swap will not be accounted.
665 Now, memory usage of swap_cgroup is 2 bytes per entry. If swap page 667 Now, memory usage of swap_cgroup is 2 bytes per entry. If swap page
666 size is 4096bytes, 512k per 1Gbytes of swap. 668 size is 4096bytes, 512k per 1Gbytes of swap.
669config CGROUP_MEM_RES_CTLR_SWAP_ENABLED
670 bool "Memory Resource Controller Swap Extension enabled by default"
671 depends on CGROUP_MEM_RES_CTLR_SWAP
672 default y
673 help
674 Memory Resource Controller Swap Extension comes with its price in
675 a bigger memory consumption. General purpose distribution kernels
676 which want to enable the feautre but keep it disabled by default
677 and let the user enable it by swapaccount boot command line
678 parameter should have this option unselected.
679 For those who want to have the feature enabled by default should
680 select this option (if, for some reason, they need to disable it
681 then noswapaccount does the trick).
667 682
668menuconfig CGROUP_SCHED 683menuconfig CGROUP_SCHED
669 bool "Group CPU scheduler" 684 bool "Group CPU scheduler"
670 depends on EXPERIMENTAL && CGROUPS 685 depends on EXPERIMENTAL
671 default n 686 default n
672 help 687 help
673 This feature lets CPU scheduler recognize task groups and control CPU 688 This feature lets CPU scheduler recognize task groups and control CPU
@@ -696,7 +711,7 @@ endif #CGROUP_SCHED
696 711
697config BLK_CGROUP 712config BLK_CGROUP
698 tristate "Block IO controller" 713 tristate "Block IO controller"
699 depends on CGROUPS && BLOCK 714 depends on BLOCK
700 default n 715 default n
701 ---help--- 716 ---help---
702 Generic block IO controller cgroup interface. This is the common 717 Generic block IO controller cgroup interface. This is the common
@@ -705,11 +720,14 @@ config BLK_CGROUP
705 720
706 Currently, CFQ IO scheduler uses it to recognize task groups and 721 Currently, CFQ IO scheduler uses it to recognize task groups and
707 control disk bandwidth allocation (proportional time slice allocation) 722 control disk bandwidth allocation (proportional time slice allocation)
708 to such task groups. 723 to such task groups. It is also used by bio throttling logic in
724 block layer to implement upper limit in IO rates on a device.
709 725
710 This option only enables generic Block IO controller infrastructure. 726 This option only enables generic Block IO controller infrastructure.
711 One needs to also enable actual IO controlling logic in CFQ for it 727 One needs to also enable actual IO controlling logic/policy. For
712 to take effect. (CONFIG_CFQ_GROUP_IOSCHED=y). 728 enabling proportional weight division of disk bandwidth in CFQ seti
729 CONFIG_CFQ_GROUP_IOSCHED=y and for enabling throttling policy set
730 CONFIG_BLK_THROTTLE=y.
713 731
714 See Documentation/cgroups/blkio-controller.txt for more information. 732 See Documentation/cgroups/blkio-controller.txt for more information.
715 733
@@ -723,57 +741,7 @@ config DEBUG_BLK_CGROUP
723 741
724endif # CGROUPS 742endif # CGROUPS
725 743
726config MM_OWNER 744menuconfig NAMESPACES
727 bool
728
729config SYSFS_DEPRECATED
730 bool
731
732config SYSFS_DEPRECATED_V2
733 bool "enable deprecated sysfs features to support old userspace tools"
734 depends on SYSFS
735 default n
736 select SYSFS_DEPRECATED
737 help
738 This option switches the layout of sysfs to the deprecated
739 version. Do not use it on recent distributions.
740
741 The current sysfs layout features a unified device tree at
742 /sys/devices/, which is able to express a hierarchy between
743 class devices. If the deprecated option is set to Y, the
744 unified device tree is split into a bus device tree at
745 /sys/devices/ and several individual class device trees at
746 /sys/class/. The class and bus devices will be connected by
747 "<subsystem>:<name>" and the "device" links. The "block"
748 class devices, will not show up in /sys/class/block/. Some
749 subsystems will suppress the creation of some devices which
750 depend on the unified device tree.
751
752 This option is not a pure compatibility option that can
753 be safely enabled on newer distributions. It will change the
754 layout of sysfs to the non-extensible deprecated version,
755 and disable some features, which can not be exported without
756 confusing older userspace tools. Since 2007/2008 all major
757 distributions do not enable this option, and ship no tools which
758 depend on the deprecated layout or this option.
759
760 If you are using a new kernel on an older distribution, or use
761 older userspace tools, you might need to say Y here. Do not say Y,
762 if the original kernel, that came with your distribution, has
763 this option set to N.
764
765config RELAY
766 bool "Kernel->user space relay support (formerly relayfs)"
767 help
768 This option enables support for relay interface support in
769 certain file systems (such as debugfs).
770 It is designed to provide an efficient mechanism for tools and
771 facilities to relay large amounts of data from kernel space to
772 user space.
773
774 If unsure, say N.
775
776config NAMESPACES
777 bool "Namespaces support" if EMBEDDED 745 bool "Namespaces support" if EMBEDDED
778 default !EMBEDDED 746 default !EMBEDDED
779 help 747 help
@@ -782,48 +750,102 @@ config NAMESPACES
782 or same user id or pid may refer to different tasks when used in 750 or same user id or pid may refer to different tasks when used in
783 different namespaces. 751 different namespaces.
784 752
753if NAMESPACES
754
785config UTS_NS 755config UTS_NS
786 bool "UTS namespace" 756 bool "UTS namespace"
787 depends on NAMESPACES 757 default y
788 help 758 help
789 In this namespace tasks see different info provided with the 759 In this namespace tasks see different info provided with the
790 uname() system call 760 uname() system call
791 761
792config IPC_NS 762config IPC_NS
793 bool "IPC namespace" 763 bool "IPC namespace"
794 depends on NAMESPACES && (SYSVIPC || POSIX_MQUEUE) 764 depends on (SYSVIPC || POSIX_MQUEUE)
765 default y
795 help 766 help
796 In this namespace tasks work with IPC ids which correspond to 767 In this namespace tasks work with IPC ids which correspond to
797 different IPC objects in different namespaces. 768 different IPC objects in different namespaces.
798 769
799config USER_NS 770config USER_NS
800 bool "User namespace (EXPERIMENTAL)" 771 bool "User namespace (EXPERIMENTAL)"
801 depends on NAMESPACES && EXPERIMENTAL 772 depends on EXPERIMENTAL
773 default y
802 help 774 help
803 This allows containers, i.e. vservers, to use user namespaces 775 This allows containers, i.e. vservers, to use user namespaces
804 to provide different user info for different servers. 776 to provide different user info for different servers.
805 If unsure, say N. 777 If unsure, say N.
806 778
807config PID_NS 779config PID_NS
808 bool "PID Namespaces (EXPERIMENTAL)" 780 bool "PID Namespaces"
809 default n 781 default y
810 depends on NAMESPACES && EXPERIMENTAL
811 help 782 help
812 Support process id namespaces. This allows having multiple 783 Support process id namespaces. This allows having multiple
813 processes with the same pid as long as they are in different 784 processes with the same pid as long as they are in different
814 pid namespaces. This is a building block of containers. 785 pid namespaces. This is a building block of containers.
815 786
816 Unless you want to work with an experimental feature
817 say N here.
818
819config NET_NS 787config NET_NS
820 bool "Network namespace" 788 bool "Network namespace"
821 default n 789 depends on NET
822 depends on NAMESPACES && EXPERIMENTAL && NET 790 default y
823 help 791 help
824 Allow user space to create what appear to be multiple instances 792 Allow user space to create what appear to be multiple instances
825 of the network stack. 793 of the network stack.
826 794
795endif # NAMESPACES
796
797config MM_OWNER
798 bool
799
800config SYSFS_DEPRECATED
801 bool "enable deprecated sysfs features to support old userspace tools"
802 depends on SYSFS
803 default n
804 help
805 This option adds code that switches the layout of the "block" class
806 devices, to not show up in /sys/class/block/, but only in
807 /sys/block/.
808
809 This switch is only active when the sysfs.deprecated=1 boot option is
810 passed or the SYSFS_DEPRECATED_V2 option is set.
811
812 This option allows new kernels to run on old distributions and tools,
813 which might get confused by /sys/class/block/. Since 2007/2008 all
814 major distributions and tools handle this just fine.
815
816 Recent distributions and userspace tools after 2009/2010 depend on
817 the existence of /sys/class/block/, and will not work with this
818 option enabled.
819
820 Only if you are using a new kernel on an old distribution, you might
821 need to say Y here.
822
823config SYSFS_DEPRECATED_V2
824 bool "enabled deprecated sysfs features by default"
825 default n
826 depends on SYSFS
827 depends on SYSFS_DEPRECATED
828 help
829 Enable deprecated sysfs by default.
830
831 See the CONFIG_SYSFS_DEPRECATED option for more details about this
832 option.
833
834 Only if you are using a new kernel on an old distribution, you might
835 need to say Y here. Even then, odds are you would not need it
836 enabled, you can always pass the boot option if absolutely necessary.
837
838config RELAY
839 bool "Kernel->user space relay support (formerly relayfs)"
840 help
841 This option enables support for relay interface support in
842 certain file systems (such as debugfs).
843 It is designed to provide an efficient mechanism for tools and
844 facilities to relay large amounts of data from kernel space to
845 user space.
846
847 If unsure, say N.
848
827config BLK_DEV_INITRD 849config BLK_DEV_INITRD
828 bool "Initial RAM filesystem and RAM disk (initramfs/initrd) support" 850 bool "Initial RAM filesystem and RAM disk (initramfs/initrd) support"
829 depends on BROKEN || !FRV 851 depends on BROKEN || !FRV
@@ -1058,6 +1080,7 @@ config PERF_EVENTS
1058 default y if (PROFILING || PERF_COUNTERS) 1080 default y if (PROFILING || PERF_COUNTERS)
1059 depends on HAVE_PERF_EVENTS 1081 depends on HAVE_PERF_EVENTS
1060 select ANON_INODES 1082 select ANON_INODES
1083 select IRQ_WORK
1061 help 1084 help
1062 Enable kernel support for various performance events provided 1085 Enable kernel support for various performance events provided
1063 by software and hardware. 1086 by software and hardware.