Skip to content

Commit e271799

Browse files
Werkovhtejun
authored andcommitted
docs: cgroup: Explain reclaim protection target
The protection target is necessary to understand how effective reclaim protection applies in the hierarchy. Signed-off-by: Michal Koutný <[email protected]> Signed-off-by: Tejun Heo <[email protected]>
1 parent 1dc830e commit e271799

File tree

1 file changed

+21
-3
lines changed

1 file changed

+21
-3
lines changed

Documentation/admin-guide/cgroup-v2.rst

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,8 @@ v1 is available under :ref:`Documentation/admin-guide/cgroup-v1/index.rst <cgrou
5353
5-2. Memory
5454
5-2-1. Memory Interface Files
5555
5-2-2. Usage Guidelines
56-
5-2-3. Memory Ownership
56+
5-2-3. Reclaim Protection
57+
5-2-4. Memory Ownership
5758
5-3. IO
5859
5-3-1. IO Interface Files
5960
5-3-2. Writeback
@@ -1317,7 +1318,7 @@ PAGE_SIZE multiple when read back.
13171318
smaller overages.
13181319

13191320
Effective min boundary is limited by memory.min values of
1320-
all ancestor cgroups. If there is memory.min overcommitment
1321+
ancestor cgroups. If there is memory.min overcommitment
13211322
(child cgroup or cgroups are requiring more protected memory
13221323
than parent will allow), then each child cgroup will get
13231324
the part of parent's protection proportional to its
@@ -1343,7 +1344,7 @@ PAGE_SIZE multiple when read back.
13431344
smaller overages.
13441345

13451346
Effective low boundary is limited by memory.low values of
1346-
all ancestor cgroups. If there is memory.low overcommitment
1347+
ancestor cgroups. If there is memory.low overcommitment
13471348
(child cgroup or cgroups are requiring more protected memory
13481349
than parent will allow), then each child cgroup will get
13491350
the part of parent's protection proportional to its
@@ -1934,6 +1935,23 @@ memory - is necessary to determine whether a workload needs more
19341935
memory; unfortunately, memory pressure monitoring mechanism isn't
19351936
implemented yet.
19361937

1938+
Reclaim Protection
1939+
~~~~~~~~~~~~~~~~~~
1940+
1941+
The protection configured with "memory.low" or "memory.min" applies relatively
1942+
to the target of the reclaim (i.e. any of memory cgroup limits, proactive
1943+
memory.reclaim or global reclaim apparently located in the root cgroup).
1944+
The protection value configured for B applies unchanged to the reclaim
1945+
targeting A (i.e. caused by competition with the sibling E)::
1946+
1947+
root - ... - A - B - C
1948+
\ ` D
1949+
` E
1950+
1951+
When the reclaim targets ancestors of A, the effective protection of B is
1952+
capped by the protection value configured for A (and any other intermediate
1953+
ancestors between A and the target).
1954+
19371955

19381956
Memory Ownership
19391957
~~~~~~~~~~~~~~~~

0 commit comments

Comments
 (0)