lkml.org 
[lkml]   [2016]   [Jan]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] mm,oom: Exclude TIF_MEMDIE processes from candidates.
On Thu 07-01-16 11:28:15, Johannes Weiner wrote:
> 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@I-love.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.

This is an interesting idea. It definitely sounds better than timeout
based solutions. I will cook up a patch for this. The API between oom
killer and the reaper has to change slightly but that shouldn't be a big
deal.

Thanks!
--
Michal Hocko
SUSE Labs

\
 
 \ /
  Last update: 2016-01-08 14:01    [W:0.180 / U:0.112 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site