From: Tejun Heo Date: Thu, 2 Feb 2017 18:50:35 +0000 (-0500) Subject: Merge branch 'cgroup/for-4.11-rdmacg' into cgroup/for-4.11 X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=63f1ca59453aadae81f702840c7ac6ea8b9f9262;p=GitHub%2Fmoto-9609%2Fandroid_kernel_motorola_exynos9610.git Merge branch 'cgroup/for-4.11-rdmacg' into cgroup/for-4.11 Merge in to resolve conflicts in Documentation/cgroup-v2.txt. The conflicts are from multiple section additions and trivial to resolve. Signed-off-by: Tejun Heo --- 63f1ca59453aadae81f702840c7ac6ea8b9f9262 diff --cc Documentation/cgroup-v2.txt index 1d101423ca92,94350d79e169..3b8449f8ac7e --- a/Documentation/cgroup-v2.txt +++ b/Documentation/cgroup-v2.txt @@@ -47,10 -47,8 +47,12 @@@ CONTENT 5-3. IO 5-3-1. IO Interface Files 5-3-2. Writeback - 5-4. RDMA - 5-4-1. RDMA Interface Files + 5-4. PID + 5-4-1. PID Interface Files - 5-5. Misc - 5-5-1. perf_event ++ 5-5. RDMA ++ 5-5-1. RDMA Interface Files ++ 5-6. Misc ++ 5-6-1. perf_event 6. Namespace 6-1. Basics 6-2. The Root and Views @@@ -1121,55 -1121,42 +1123,91 @@@ writeback as follows vm.dirty[_background]_ratio. -5-4. RDMA +5-4. PID + +The process number controller is used to allow a cgroup to stop any +new tasks from being fork()'d or clone()'d after a specified limit is +reached. + +The number of tasks in a cgroup can be exhausted in ways which other +controllers cannot prevent, thus warranting its own controller. For +example, a fork bomb is likely to exhaust the number of tasks before +hitting memory restrictions. + +Note that PIDs used in this controller refer to TIDs, process IDs as +used by the kernel. + + +5-4-1. PID Interface Files + + pids.max + + A read-write single value file which exists on non-root cgroups. The + default is "max". + + Hard limit of number of processes. + + pids.current + + A read-only single value file which exists on all cgroups. + + The number of processes currently in the cgroup and its descendants. + +Organisational operations are not blocked by cgroup policies, so it is +possible to have pids.current > pids.max. This can be done by either +setting the limit to be smaller than pids.current, or attaching enough +processes to the cgroup such that pids.current is larger than +pids.max. However, it is not possible to violate a cgroup PID policy +through fork() or clone(). These will return -EAGAIN if the creation +of a new process would cause a cgroup policy to be violated. + + - 5-5. Misc ++5-5. RDMA - 5-5-1. perf_event + The "rdma" controller regulates the distribution and accounting of + of RDMA resources. + -5-4-1. RDMA Interface Files ++5-5-1. RDMA Interface Files + + rdma.max + A readwrite nested-keyed file that exists for all the cgroups + except root that describes current configured resource limit + for a RDMA/IB device. + + Lines are keyed by device name and are not ordered. + Each line contains space separated resource name and its configured + limit that can be distributed. + + The following nested keys are defined. + + hca_handle Maximum number of HCA Handles + hca_object Maximum number of HCA Objects + + An example for mlx4 and ocrdma device follows. + + mlx4_0 hca_handle=2 hca_object=2000 + ocrdma1 hca_handle=3 hca_object=max + + rdma.current + A read-only file that describes current resource usage. + It exists for all the cgroup except root. + + An example for mlx4 and ocrdma device follows. + + mlx4_0 hca_handle=1 hca_object=20 + ocrdma1 hca_handle=1 hca_object=23 + + ++5-6. Misc ++ ++5-6-1. perf_event + +perf_event controller, if not mounted on a legacy hierarchy, is +automatically enabled on the v2 hierarchy so that perf events can +always be filtered by cgroup v2 path. The controller can still be +moved to a legacy hierarchy after v2 hierarchy is populated. + + 6. Namespace 6-1. Basics