aboutsummaryrefslogtreecommitdiffstats
path: root/init
diff options
context:
space:
mode:
authorJohannes Weiner <hannes@cmpxchg.org>2015-12-17 17:19:57 -0500
committerTejun Heo <tj@kernel.org>2015-12-18 12:43:15 -0500
commit6bf024e69333f9371c634aa4cf04c95da86697f4 (patch)
tree3ae791b7a143bf18f5714d60f4330cf66bf70809 /init
parenta0166ec4b0996b259f24a831c6ca8d06ecd7e59f (diff)
cgroup: put controller Kconfig options in meaningful order
To make it easier to quickly find what's needed list the basic resource controllers of cgroup2 first - io, memory, cpu - while pushing the more exotic and/or legacy controllers to the bottom. tj: Removed spurious "&& CGROUPS" from CGROUP_PERF as suggested by Li. Signed-off-by: Johannes Weiner <hannes@cmpxchg.org> Acked-by: Zefan Li <lizefan@huawei.com> Signed-off-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'init')
-rw-r--r--init/Kconfig214
1 files changed, 107 insertions, 107 deletions
diff --git a/init/Kconfig b/init/Kconfig
index 07086e7ad61d..f8754f502c36 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -940,64 +940,6 @@ menuconfig CGROUPS
940 940
941if CGROUPS 941if CGROUPS
942 942
943config CGROUP_DEBUG
944 bool "Example controller"
945 default n
946 help
947 This option enables a simple controller that exports
948 debugging information about the cgroups framework.
949
950 Say N.
951
952config CGROUP_FREEZER
953 bool "Freezer controller"
954 help
955 Provides a way to freeze and unfreeze all tasks in a
956 cgroup.
957
958config CGROUP_PIDS
959 bool "PIDs controller"
960 help
961 Provides enforcement of process number limits in the scope of a
962 cgroup. Any attempt to fork more processes than is allowed in the
963 cgroup will fail. PIDs are fundamentally a global resource because it
964 is fairly trivial to reach PID exhaustion before you reach even a
965 conservative kmemcg limit. As a result, it is possible to grind a
966 system to halt without being limited by other cgroup policies. The
967 PIDs cgroup subsystem is designed to stop this from happening.
968
969 It should be noted that organisational operations (such as attaching
970 to a cgroup hierarchy will *not* be blocked by the PIDs subsystem),
971 since the PIDs limit only affects a process's ability to fork, not to
972 attach to a cgroup.
973
974config CGROUP_DEVICE
975 bool "Device controller"
976 help
977 Provides a cgroup controller implementing whitelists for
978 devices which a process in the cgroup can mknod or open.
979
980config CPUSETS
981 bool "Cpuset controller"
982 help
983 This option will let you create and manage CPUSETs which
984 allow dynamically partitioning a system into sets of CPUs and
985 Memory Nodes and assigning tasks to run only within those sets.
986 This is primarily useful on large SMP or NUMA systems.
987
988 Say N if unsure.
989
990config PROC_PID_CPUSET
991 bool "Include legacy /proc/<pid>/cpuset file"
992 depends on CPUSETS
993 default y
994
995config CGROUP_CPUACCT
996 bool "Simple CPU accounting controller"
997 help
998 Provides a simple controller for monitoring the
999 total CPU consumed by the tasks in a cgroup.
1000
1001config PAGE_COUNTER 943config PAGE_COUNTER
1002 bool 944 bool
1003 945
@@ -1039,31 +981,40 @@ config MEMCG_KMEM
1039 the kmem extension can use it to guarantee that no group of processes 981 the kmem extension can use it to guarantee that no group of processes
1040 will ever exhaust kernel resources alone. 982 will ever exhaust kernel resources alone.
1041 983
1042config CGROUP_HUGETLB 984config BLK_CGROUP
1043 bool "HugeTLB controller" 985 bool "IO controller"
1044 depends on HUGETLB_PAGE 986 depends on BLOCK
1045 select PAGE_COUNTER
1046 default n 987 default n
1047 help 988 ---help---
1048 Provides a cgroup controller for HugeTLB pages. 989 Generic block IO controller cgroup interface. This is the common
1049 When you enable this, you can put a per cgroup limit on HugeTLB usage. 990 cgroup interface which should be used by various IO controlling
1050 The limit is enforced during page fault. Since HugeTLB doesn't 991 policies.
1051 support page reclaim, enforcing the limit at page fault time implies
1052 that, the application will get SIGBUS signal if it tries to access
1053 HugeTLB pages beyond its limit. This requires the application to know
1054 beforehand how much HugeTLB pages it would require for its use. The
1055 control group is tracked in the third page lru pointer. This means
1056 that we cannot use the controller with huge page less than 3 pages.
1057 992
1058config CGROUP_PERF 993 Currently, CFQ IO scheduler uses it to recognize task groups and
1059 bool "Perf controller" 994 control disk bandwidth allocation (proportional time slice allocation)
1060 depends on PERF_EVENTS && CGROUPS 995 to such task groups. It is also used by bio throttling logic in
1061 help 996 block layer to implement upper limit in IO rates on a device.
1062 This option extends the perf per-cpu mode to restrict monitoring
1063 to threads which belong to the cgroup specified and run on the
1064 designated cpu.
1065 997
1066 Say N if unsure. 998 This option only enables generic Block IO controller infrastructure.
999 One needs to also enable actual IO controlling logic/policy. For
1000 enabling proportional weight division of disk bandwidth in CFQ, set
1001 CONFIG_CFQ_GROUP_IOSCHED=y; for enabling throttling policy, set
1002 CONFIG_BLK_DEV_THROTTLING=y.
1003
1004 See Documentation/cgroups/blkio-controller.txt for more information.
1005
1006config DEBUG_BLK_CGROUP
1007 bool "IO controller debugging"
1008 depends on BLK_CGROUP
1009 default n
1010 ---help---
1011 Enable some debugging help. Currently it exports additional stat
1012 files in a cgroup which can be useful for debugging.
1013
1014config CGROUP_WRITEBACK
1015 bool
1016 depends on MEMCG && BLK_CGROUP
1017 default y
1067 1018
1068menuconfig CGROUP_SCHED 1019menuconfig CGROUP_SCHED
1069 bool "CPU controller" 1020 bool "CPU controller"
@@ -1103,40 +1054,89 @@ config RT_GROUP_SCHED
1103 1054
1104endif #CGROUP_SCHED 1055endif #CGROUP_SCHED
1105 1056
1106config BLK_CGROUP 1057config CGROUP_PIDS
1107 bool "IO controller" 1058 bool "PIDs controller"
1108 depends on BLOCK 1059 help
1060 Provides enforcement of process number limits in the scope of a
1061 cgroup. Any attempt to fork more processes than is allowed in the
1062 cgroup will fail. PIDs are fundamentally a global resource because it
1063 is fairly trivial to reach PID exhaustion before you reach even a
1064 conservative kmemcg limit. As a result, it is possible to grind a
1065 system to halt without being limited by other cgroup policies. The
1066 PIDs cgroup subsystem is designed to stop this from happening.
1067
1068 It should be noted that organisational operations (such as attaching
1069 to a cgroup hierarchy will *not* be blocked by the PIDs subsystem),
1070 since the PIDs limit only affects a process's ability to fork, not to
1071 attach to a cgroup.
1072
1073config CGROUP_FREEZER
1074 bool "Freezer controller"
1075 help
1076 Provides a way to freeze and unfreeze all tasks in a
1077 cgroup.
1078
1079config CGROUP_HUGETLB
1080 bool "HugeTLB controller"
1081 depends on HUGETLB_PAGE
1082 select PAGE_COUNTER
1109 default n 1083 default n
1110 ---help--- 1084 help
1111 Generic block IO controller cgroup interface. This is the common 1085 Provides a cgroup controller for HugeTLB pages.
1112 cgroup interface which should be used by various IO controlling 1086 When you enable this, you can put a per cgroup limit on HugeTLB usage.
1113 policies. 1087 The limit is enforced during page fault. Since HugeTLB doesn't
1088 support page reclaim, enforcing the limit at page fault time implies
1089 that, the application will get SIGBUS signal if it tries to access
1090 HugeTLB pages beyond its limit. This requires the application to know
1091 beforehand how much HugeTLB pages it would require for its use. The
1092 control group is tracked in the third page lru pointer. This means
1093 that we cannot use the controller with huge page less than 3 pages.
1114 1094
1115 Currently, CFQ IO scheduler uses it to recognize task groups and 1095config CPUSETS
1116 control disk bandwidth allocation (proportional time slice allocation) 1096 bool "Cpuset controller"
1117 to such task groups. It is also used by bio throttling logic in 1097 help
1118 block layer to implement upper limit in IO rates on a device. 1098 This option will let you create and manage CPUSETs which
1099 allow dynamically partitioning a system into sets of CPUs and
1100 Memory Nodes and assigning tasks to run only within those sets.
1101 This is primarily useful on large SMP or NUMA systems.
1119 1102
1120 This option only enables generic Block IO controller infrastructure. 1103 Say N if unsure.
1121 One needs to also enable actual IO controlling logic/policy. For
1122 enabling proportional weight division of disk bandwidth in CFQ, set
1123 CONFIG_CFQ_GROUP_IOSCHED=y; for enabling throttling policy, set
1124 CONFIG_BLK_DEV_THROTTLING=y.
1125 1104
1126 See Documentation/cgroups/blkio-controller.txt for more information. 1105config PROC_PID_CPUSET
1106 bool "Include legacy /proc/<pid>/cpuset file"
1107 depends on CPUSETS
1108 default y
1127 1109
1128config DEBUG_BLK_CGROUP 1110config CGROUP_DEVICE
1129 bool "IO controller debugging" 1111 bool "Device controller"
1130 depends on BLK_CGROUP 1112 help
1113 Provides a cgroup controller implementing whitelists for
1114 devices which a process in the cgroup can mknod or open.
1115
1116config CGROUP_CPUACCT
1117 bool "Simple CPU accounting controller"
1118 help
1119 Provides a simple controller for monitoring the
1120 total CPU consumed by the tasks in a cgroup.
1121
1122config CGROUP_PERF
1123 bool "Perf controller"
1124 depends on PERF_EVENTS
1125 help
1126 This option extends the perf per-cpu mode to restrict monitoring
1127 to threads which belong to the cgroup specified and run on the
1128 designated cpu.
1129
1130 Say N if unsure.
1131
1132config CGROUP_DEBUG
1133 bool "Example controller"
1131 default n 1134 default n
1132 ---help--- 1135 help
1133 Enable some debugging help. Currently it exports additional stat 1136 This option enables a simple controller that exports
1134 files in a cgroup which can be useful for debugging. 1137 debugging information about the cgroups framework.
1135 1138
1136config CGROUP_WRITEBACK 1139 Say N.
1137 bool
1138 depends on MEMCG && BLK_CGROUP
1139 default y
1140 1140
1141endif # CGROUPS 1141endif # CGROUPS
1142 1142