Re: [PATCH 1/2] mm: introduce memory.min

From: Randy Dunlap
Date: Fri Apr 20 2018 - 13:01:25 EST


On 04/20/18 09:36, Roman Gushchin wrote:

> ---
> Documentation/cgroup-v2.txt | 20 +++++++++
> include/linux/memcontrol.h | 15 ++++++-
> include/linux/page_counter.h | 11 ++++-
> mm/memcontrol.c | 99 ++++++++++++++++++++++++++++++++++++--------
> mm/page_counter.c | 63 ++++++++++++++++++++--------
> mm/vmscan.c | 19 ++++++++-
> 6 files changed, 189 insertions(+), 38 deletions(-)
>
> diff --git a/Documentation/cgroup-v2.txt b/Documentation/cgroup-v2.txt
> index 657fe1769c75..49c846020f96 100644
> --- a/Documentation/cgroup-v2.txt
> +++ b/Documentation/cgroup-v2.txt
> @@ -1002,6 +1002,26 @@ PAGE_SIZE multiple when read back.
> The total amount of memory currently being used by the cgroup
> and its descendants.
>
> + memory.min
> + A read-write single value file which exists on non-root
> + cgroups. The default is "0".
> +
> + Hard memory protection. If the memory usage of a cgroup
> + is within its effectife min boundary, the cgroup's memory

effective

> + won't be reclaimed under any conditions. If there is no
> + unprotected reclaimable memory available, OOM killer
> + is invoked.
> +
> + Effective low boundary is limited by memory.min values of
> + all ancestor cgroups. If there is memory.mn overcommitment

memory.min ? overcommit

> + (child cgroup or cgroups are requiring more protected memory,

drop ending ',' ^^

> + than parent will allow), then each child cgroup will get
> + the part of parent's protection proportional to the its

to its

> + actual memory usage below memory.min.
> +
> + Putting more memory than generally available under this
> + protection is discouraged and may lead to constant OOMs.
> +
> memory.low
> A read-write single value file which exists on non-root
> cgroups. The default is "0".


--
~Randy