| Date | Mon, 11 May 2009 14:29:36 -0700 | From | Andrew Morton <> | Subject | Re: [patch 08/11 -mmotm] oom: invoke oom killer for __GFP_NOFAIL |
| |
On Sun, 10 May 2009 15:07:21 -0700 (PDT) David Rientjes <rientjes@google.com> wrote:
> The oom killer must be invoked regardless of the order if the allocation > is __GFP_NOFAIL, otherwise it will loop forever when reclaim fails to > free some memory.
We should discourage callers from using __GFP_NOFAIL at all. We should electrocute callers for using __GFP_NOFAIL on large allocations. How's about
WARN_ON_ONCE(order > PAGE_ALLOC_COSTLY_ORDER && (gfp_mask & __GFP_NOFAIL)); or, preferably:
WARN_ON_ONCE(order > 0 && (gfp_mask & __GFP_NOFAIL));
?
|