[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160107162815.GA31729@cmpxchg.org>
Date: Thu, 7 Jan 2016 11:28:15 -0500
From: Johannes Weiner <hannes@...xchg.org>
To: Tetsuo Handa <penguin-kernel@...ove.SAKURA.ne.jp>
Cc: mhocko@...nel.org, akpm@...ux-foundation.org, mgorman@...e.de,
rientjes@...gle.com, torvalds@...ux-foundation.org,
oleg@...hat.com, hughd@...gle.com, andrea@...nel.org,
riel@...hat.com, linux-mm@...ck.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] mm,oom: Exclude TIF_MEMDIE processes from candidates.
On Tue, Dec 29, 2015 at 10:58:22PM +0900, Tetsuo Handa wrote:
> >From 8bb9e36891a803e82c589ef78077838026ce0f7d Mon Sep 17 00:00:00 2001
> From: Tetsuo Handa <penguin-kernel@...ove.SAKURA.ne.jp>
> Date: Tue, 29 Dec 2015 22:20:58 +0900
> Subject: [PATCH] mm,oom: Exclude TIF_MEMDIE processes from candidates.
>
> The OOM reaper kernel thread can reclaim OOM victim's memory before the victim
> terminates. But since oom_kill_process() tries to kill children of the memory
> hog process first, the OOM reaper can not reclaim enough memory for terminating
> the victim if the victim is consuming little memory. The result is OOM livelock
> as usual, for timeout based next OOM victim selection is not implemented.
What we should be doing is have the OOM reaper clear TIF_MEMDIE after
it's done. There is no reason to wait for and prioritize the exit of a
task that doesn't even have memory anymore. Once a task's memory has
been reaped, subsequent OOM invocations should evaluate anew the most
desirable OOM victim.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists