Re: [PATCH RESEND 1/3] docs: cgroup: Explain reclaim protection target
From: Jonathan Corbet
Date: Mon Nov 10 2025 - 15:00:54 EST
Michal Koutný <mkoutny@xxxxxxxx> writes:
> The protection target is necessary to understand how effective reclaim
> protection applies in the hierarchy.
>
> Signed-off-by: Michal Koutný <mkoutny@xxxxxxxx>
> ---
> Documentation/admin-guide/cgroup-v2.rst | 24 +++++++++++++++++++++---
> 1 file changed, 21 insertions(+), 3 deletions(-)
>
> diff --git a/Documentation/admin-guide/cgroup-v2.rst b/Documentation/admin-guide/cgroup-v2.rst
> index 0e6c67ac585a0..a6def773a3072 100644
> --- a/Documentation/admin-guide/cgroup-v2.rst
> +++ b/Documentation/admin-guide/cgroup-v2.rst
> @@ -53,7 +53,8 @@ v1 is available under :ref:`Documentation/admin-guide/cgroup-v1/index.rst <cgrou
> 5-2. Memory
> 5-2-1. Memory Interface Files
> 5-2-2. Usage Guidelines
> - 5-2-3. Memory Ownership
> + 5-2-3. Reclaim Protection
> + 5-2-4. Memory Ownership
I always have to ask...do we really need the manually maintained TOC
here?
> 5-3. IO
> 5-3-1. IO Interface Files
> 5-3-2. Writeback
> @@ -1317,7 +1318,7 @@ PAGE_SIZE multiple when read back.
> smaller overages.
>
> Effective min boundary is limited by memory.min values of
> - all ancestor cgroups. If there is memory.min overcommitment
> + ancestor cgroups. If there is memory.min overcommitment
> (child cgroup or cgroups are requiring more protected memory
> than parent will allow), then each child cgroup will get
> the part of parent's protection proportional to its
> @@ -1343,7 +1344,7 @@ PAGE_SIZE multiple when read back.
> smaller overages.
>
> Effective low boundary is limited by memory.low values of
> - all ancestor cgroups. If there is memory.low overcommitment
> + ancestor cgroups. If there is memory.low overcommitment
> (child cgroup or cgroups are requiring more protected memory
> than parent will allow), then each child cgroup will get
> the part of parent's protection proportional to its
> @@ -1934,6 +1935,23 @@ memory - is necessary to determine whether a workload needs more
> memory; unfortunately, memory pressure monitoring mechanism isn't
> implemented yet.
>
> +Reclaim Protection
> +~~~~~~~~~~~~~~~~~~
> +
> +The protection configured with "memory.low" or "memory.min" applies relatively
> +to the target of the reclaim (i.e. any of memory cgroup limits, proactive
> +memory.reclaim or global reclaim apparently located in the root cgroup).
> +
> + root ... - A - B - C
> + \ ` D
> + ` E
This will not render properly, you want it in a literal block. The
easiest way is to just make the line above read:
...located in the root cgroup)::
Thanks,
jon