Re: [PATCH] mm/memcontrol: update documentation about invoking oom killer

From: Damian Tometzki
Date: Sat Nov 02 2019 - 12:28:27 EST


On Sat, 02. Nov 19:14, Konstantin Khlebnikov wrote:
>
>
> On 02/11/2019 19.02, Damian Tometzki wrote:
> > On Sat, 02. Nov 18:16, Konstantin Khlebnikov wrote:
> >> Since commit 29ef680ae7c2 ("memcg, oom: move out_of_memory back to the
> >> charge path") memcg invokes oom killer not only for user page-faults.
> >> This means 0-order allocation will either succeed or task get killed.
> >>
> >> Fixes: 8e675f7af507 ("mm/oom_kill: count global and memory cgroup oom kills")
> >> Signed-off-by: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx>
> >> ---
> >> Documentation/admin-guide/cgroup-v2.rst | 9 +++++++--
> >> 1 file changed, 7 insertions(+), 2 deletions(-)
> >>
> >> diff --git a/Documentation/admin-guide/cgroup-v2.rst b/Documentation/admin-guide/cgroup-v2.rst
> >> index 5361ebec3361..eb47815e137b 100644
> >> --- a/Documentation/admin-guide/cgroup-v2.rst
> >> +++ b/Documentation/admin-guide/cgroup-v2.rst
> >> @@ -1219,8 +1219,13 @@ PAGE_SIZE multiple when read back.
> >>
> >> Failed allocation in its turn could be returned into
> >> userspace as -ENOMEM or silently ignored in cases like
> >> - disk readahead. For now OOM in memory cgroup kills
> >> - tasks iff shortage has happened inside page fault.
> >> + disk readahead.
> >> +
> >> + Before 4.19 OOM in memory cgroup killed tasks iff
> > Hello Konstantin,
> >
> > iff --> if :-)
> >
>
> This "iff" is shortened "if and only if".
> https://en.wikipedia.org/wiki/If_and_only_if

good to know :-)

>
> > Best regards
> > Damian
> >
> >
> >> + shortage has happened inside page fault, random
> >> + syscall may fail with ENOMEM or EFAULT. Since 4.19
> >> + failed memory cgroup allocation invokes oom killer and
> >> + keeps retrying until it succeeds.
> >>
> >> This event is not raised if the OOM killer is not
> >> considered as an option, e.g. for failed high-order
> >>