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

From: Rafael J. Wysocki
Date: Thu May 07 2009 - 16:19:43 EST


On Thursday 07 May 2009, Andrew Morton wrote:
> On Thu, 7 May 2009 21:33:47 +0200
> "Rafael J. Wysocki" <rjw@xxxxxxx> wrote:
>
> > On Thursday 07 May 2009, Andrew Morton wrote:
> > > On Thu, 7 May 2009 20:09:52 +0200
> > > "Rafael J. Wysocki" <rjw@xxxxxxx> wrote:
> > >
> > > > > > > I'm suspecting that hibernation can allocate its pages with
> > > > > > > __GFP_FS|__GFP_WAIT|__GFP_NORETRY|__GFP_NOWARN, and the page allocator
> > > > > > > will dtrt: no oom-killings.
> > > > > > >
> > > > > > > In which case, processes_are_frozen() is not needed at all?
> > > > > >
> > > > > > __GFP_NORETRY alone causes it to fail relatively quickly, but I'll try with
> > > > > > the combination.
> > > > >
> > > > > OK. __GFP_WAIT is the big hammer.
> > > >
> > > > Unfortunately it fails too quickly with the combination as well, so it looks
> > > > like we can't use __GFP_NORETRY during hibernation.
> > >
> > > hm.
> > >
> > > So where do we stand now?
> > >
> > > I'm not a big fan of the global application-specific state change
> > > thing. Something like __GFP_NO_OOM_KILL has a better chance of being
> > > reused by other subsystems in the future, which is a good indicator.
> >
> > I'm not against __GFP_NO_OOM_KILL, but there's been some strong resistance to
> > adding new _GPF _FOO flags recently.
>
> We have six or seven left - hardly a crisis.
>
> > Is there any likelihood anyone else we'll
> > really need it any time soon?
>
> Dunno - people do all sorts of crazy things. But it's more likely to
> be reused than a PM-specific global!
>
> I have no strong feelings really, but slotting into the existing
> technique with something which might be reusable is quite a bit tidier.

OK, let's try with __GFP_NO_OOM_KILL first. If there's too much disagreement,
I'll use the freezer-based approach instead.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/