Merge branch 'cgroup/for-4.11-rdmacg' into cgroup/for-4.11
authorTejun Heo <tj@kernel.org>
Thu, 2 Feb 2017 18:50:35 +0000 (13:50 -0500)
committerTejun Heo <tj@kernel.org>
Thu, 2 Feb 2017 18:50:35 +0000 (13:50 -0500)
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 <tj@kernel.org>
1  2 
Documentation/cgroup-v2.txt

index 1d101423ca9253abeec77a7ef26549d4d4602141,94350d79e16957e362410d25a0a4d4fa8302000d..3b8449f8ac7e80a0ebeaf6dfe8c64b15503f3954
@@@ -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