summaryrefslogtreecommitdiff
path: root/Documentation/cgroup-v2.txt
diff options
context:
space:
mode:
authorHans Ragas <hansr@fb.com>2017-01-10 20:42:34 +0300
committerTejun Heo <tj@kernel.org>2017-01-10 20:47:56 +0300
commit20c56e595cd781b5305562c9bf8289d8d5e47c63 (patch)
treebd4776e3b099773ace7f2bf6436721e3830eb1df /Documentation/cgroup-v2.txt
parent7b4632f048415263669676dda20fd5d811c3d3e4 (diff)
downloadlinux-20c56e595cd781b5305562c9bf8289d8d5e47c63.tar.xz
cgroup: Add missing cgroup-v2 PID controller documentation.
Signed-off-by: Hans Ragas <hansr@fb.com> Signed-off-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'Documentation/cgroup-v2.txt')
-rw-r--r--Documentation/cgroup-v2.txt41
1 files changed, 41 insertions, 0 deletions
diff --git a/Documentation/cgroup-v2.txt b/Documentation/cgroup-v2.txt
index 4cc07ce3b8dd..f6f54107fb4d 100644
--- a/Documentation/cgroup-v2.txt
+++ b/Documentation/cgroup-v2.txt
@@ -47,6 +47,8 @@ CONTENTS
5-3. IO
5-3-1. IO Interface Files
5-3-2. Writeback
+ 5-4. PID
+ 5-4-1. PID Interface Files
6. Namespace
6-1. Basics
6-2. The Root and Views
@@ -1119,6 +1121,45 @@ writeback as follows.
vm.dirty[_background]_ratio.
+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.
+
+
6. Namespace
6-1. Basics