2009-07-03 03:51:17

by Mitchell Erblich

[permalink] [raw]
Subject: Re : .... get_page_from_freelist : MInority Suggestion to accept GFP_NOFAIL accept during boot

Group,


If I may suggest a minority opinion about the depreciating of the
GFP_NOFAIL flag..

I saw no discussion on the acceptance of using this flag during boot
and shortly
after boot.

Many kernel structures require memory and thus should guarantee memory
before they continue.

As Linux is moved within embedded environments with smaller amounts of
physical memory, the chance that earlier mem failures becomes higher.

For this logic alone, my minority opinion is to not depreciate the
GFP_NOFAIL flag.

Mitchell Erblich







2009-07-03 09:01:22

by David Rientjes

[permalink] [raw]
Subject: Re: Re : .... get_page_from_freelist : MInority Suggestion to accept GFP_NOFAIL accept during boot

On Thu, 2 Jul 2009, Mitchell Erblich wrote:

> Group,
>
>
> If I may suggest a minority opinion about the depreciating of the
> GFP_NOFAIL flag..
>
> I saw no discussion on the acceptance of using this flag during boot
> and shortly
> after boot.
>
> Many kernel structures require memory and thus should guarantee memory
> before they continue.
>
> As Linux is moved within embedded environments with smaller amounts of
> physical memory, the chance that earlier mem failures becomes higher.
>
> For this logic alone, my minority opinion is to not depreciate the
> GFP_NOFAIL flag.
>

I'm confused by your request because all allocations with orders under
PAGE_ALLOC_COSTLY_ORDER are inherently __GFP_NOFAIL and those that are not
can easily implement the same behavior in the caller:

struct page *page;
do {
page = alloc_pages(...);
} while (!page);

Hopefully something could be done to ensure the next call to alloc_pages()
would be more likely to succeed, but __GFP_NOFAIL doesn't provide that
anyway.