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 > >>