Messages in this thread | | | From | Vasily Averin <> | Subject | [PATCH memcg v3 0/3] memcg: prohibit unconditional exceeding the limit of dying tasks | Date | Sat, 23 Oct 2021 16:18:58 +0300 |
| |
Memory cgroup charging allows killed or exiting tasks to exceed the hard limit. It can be misused and allow to trigger global OOM from inside memcg-limited container. On the other hand if memcg fail allocation, called from inside #PF handler it trigger global OOM from inside pagefault_out_of_memory().
To prevent these problems this patch set: a) removes execution of out_of_memory() from pagefault_out_of_memory(), becasue nobody can explain why it is necessary. b) allow memcg to fail allocation of dying/killed tasks.
v3: resplit, improved patch descriptions v2: resplit, use old patch from Michal Hocko removing out_of_memory() from pagefault_out_of_memory()
Michal Hocko (1): mm, oom: do not trigger out_of_memory from the #PF
Vasily Averin (2): mm, oom: pagefault_out_of_memory: don't force global OOM for dying tasks memcg: prohibit unconditional exceeding the limit of dying tasks
mm/memcontrol.c | 27 ++++++++------------------- mm/oom_kill.c | 23 ++++++++++------------- 2 files changed, 18 insertions(+), 32 deletions(-)
-- 2.32.0
| |