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

Andrew Morton
2009-05-07T20:02:02Z

On Thu, 7 May 2009 21:33:47 +0200
"Rafael J. Wysocki" <rjw-KKrjLPT3xs0@public.gmane.org> wrote:

> On Thursday 07 May 2009, Andrew Morton wrote:
> > On Thu, 7 May 2009 20:09:52 +0200
> > "Rafael J. Wysocki" <rjw-KKrjLPT3xs0@public.gmane.org> 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.