On Tue 17-07-18 10:38:45, Roman Gushchin wrote: [...] > Let me show my proposal on examples. Let's say we have the following hierarchy, > and the biggest process (or the process with highest oom_score_adj) is in D. > > / > | > A > | > B > / \ > C D > > Let's look at different examples and intended behavior: > 1) system-wide OOM > - default settings: the biggest process is killed > - D/memory.group_oom=1: all processes in D are killed > - A/memory.group_oom=1: all processes in A are killed > 2) memcg oom in B > - default settings: the biggest process is killed > - A/memory.group_oom=1: the biggest process is killed Huh? Why would you even consider A here when the oom is below it? /me confused > - B/memory.group_oom=1: all processes in B are killed - B/memory.group_oom=0 && > - D/memory.group_oom=1: all processes in D are killed What about? - B/memory.group_oom=1 && D/memory.group_oom=0 Is this a sane configuration? -- Michal Hocko SUSE Labs