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

From: David Rientjes
Date: Sat May 09 2009 - 18:40:32 EST


On Sat, 9 May 2009, Rafael J. Wysocki wrote:

> > This has been changed in the latest mmotm with Mel's page alloactor
> > patches (and I think yours should be based on mmotm). Specifically,
> > page-allocator-break-up-the-allocator-entry-point-into-fast-and-slow-paths.patch.
> >
> > Before his patchset, zonelists that had ZONE_OOM_LOCKED set for at least
> > one of their zones would unconditionally goto restart. Now, if
> > order > PAGE_ALLOC_COSTLY_ORDER, it gives up and returns NULL. Otherwise,
> > it does goto restart.
> >
> > So if your allocation has order > PAGE_ALLOC_COSTLY_ORDER,
>
> It doesn't. All of my allocations are of order 0.
>

All order 0 allocations are implicitly __GFP_NOFAIL and will loop
endlessly unless they can't block. So if you want to simply prohibit the
oom killer from being invoked and not change the retry behavior, setting
ZONE_OOM_LOCKED for all zones will do that. If your machine hangs, it
means nothing can be reclaimed and you can't free memory via oom killing,
so there's nothing else the page allocator can do.
--
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/