Re: [patch 08/11 -mmotm] oom: invoke oom killer for __GFP_NOFAIL

From: Minchan Kim
Date: Mon May 11 2009 - 07:23:38 EST


On Mon, May 11, 2009 at 5:49 PM, David Rientjes <rientjes@xxxxxxxxxx> wrote:
> On Mon, 11 May 2009, Minchan Kim wrote:
>
>> I agree KOSAKI's opinion.
>> We already have a different flags.
>>
>> Â* __GFP_REPEAT: Try hard to allocate the memory, but the allocation attempt
>> Â* _might_ fail. ÂThis depends upon the particular VM implementation.
>> Â*
>> Â* __GFP_NOFAIL: The VM implementation _must_ retry infinitely: the caller
>> Â* cannot handle allocation failures.
>>
>> When we use __GFP_NOFAIL, we always have to use it carefully.
>> If you change the meaning of __GFP_NOFAIL, the intension of them who have been used it carefully Âmay be lost. It's my concern.
>>
>
> You pointed out yourself that __GFP_NOFAIL allocations can fail by way of
> having alloc_pages() return NULL even without attempting to free memory by
> the oom killer for order > PAGE_ALLOC_COSTLY_ORDER. ÂThe definition you
> posted above is unambiguous to me, it means we must retry infinitely. ÂAnd
> that's very stupid if we are going to neglect to free memory by killing a
> task and relying solely on reclaim which may not make any progress.
>

Sorry for confusing. Ignore me, please.
I misunderstood your description as I said previous post. :)

--
Kinds regards,
Minchan Kim
--
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/