[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <f774cfeb-9524-5fd7-fe2d-e6c2a58684e2@shopee.com>
Date: Tue, 14 Mar 2023 18:07:42 +0800
From: Haifeng Xu <haifeng.xu@...pee.com>
To: Michal Hocko <mhocko@...e.com>
Cc: shakeelb@...gle.com, hannes@...xchg.org, akpm@...ux-foundation.org,
linux-mm@...ck.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH RESEND] mm/oom_kill: don't kill exiting tasks in
oom_kill_memcg_member
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().
Powered by blists - more mailing lists