Re: [PATCH 1/5] mm: Add __GFP_NO_OOM_KILL flag

David Rientjes
2009-05-07T20:40:29Z

On Thu, 7 May 2009, Pavel Machek wrote:

> > Third time I'm going to suggest this, and I'd like a response on why it's
> > not possible instead of being ignored.
> >
> > All of your tasks are in D state other than kthreads, right? That means
> > they won't be in the oom killer (thus no zones are oom locked), so you can
> > easily do this
>
> Well, OOM killer may be running on behalf of some kthread at that
> point....? Quite unlikely, but possible AFAICT.

The oom killer doesn't care about the task's state, so this will be a
genuine oom situation where it will kill a task (one in D state since
kthreads are inherently immune) which will die when unfrozen. That would
have had to happen anyway when all tasks wake up since the system is
completely out of memory (except for kswapd that is given access to memory
reserves because of PF_MEMALLOC) so you're not worried about completely
blocking out the oom killer anymore because the next kthread to invoke it
in such a situation will end up being a no-op because it finds a task with
TIF_MEMDIE set.