On 2023/3/14 17:19, Michal Hocko wrote: > On Tue 14-03-23 09:11:36, Haifeng Xu wrote: >> If oom_group is set, oom_kill_process() invokes oom_kill_memcg_member() >> to kill all processes in the memcg. When scanning tasks in memcg, maybe >> the provided task is marked as oom victim. Also, some tasks are likely >> to release their address space. There is no need to kill the exiting tasks. > > This doesn't state any actual problem. Could you be more specific? Is > this a bug fix, a behavior change or an optimization? 1) oom_kill_process() has inovked __oom_kill_process() to kill the selected victim, but it will be scanned in mem_cgroup_scan_tasks(). It's pointless to kill the victim twice. 2) for those exiting processes, reaping them directly is also a faster way to free memory compare with invoking __oom_kill_process().