Re: [PATCH 01/19] tree wide: get rid of __GFP_REPEAT for order-0 allocations part I

From: David Rientjes
Date: Thu Apr 14 2016 - 15:56:35 EST


On Mon, 11 Apr 2016, Michal Hocko wrote:

> From: Michal Hocko <mhocko@xxxxxxxx>
>
> __GFP_REPEAT has a rather weak semantic but since it has been introduced
> around 2.6.12 it has been ignored for low order allocations. Yet we have
> the full kernel tree with its usage for apparently order-0 allocations.
> This is really confusing because __GFP_REPEAT is explicitly documented
> to allow allocation failures which is a weaker semantic than the current
> order-0 has (basically nofail).
>
> Let's simply drop __GFP_REPEAT from those places. This would allow
> to identify place which really need allocator to retry harder and
> formulate a more specific semantic for what the flag is supposed to do
> actually.
>
> Cc: linux-arch@xxxxxxxxxxxxxxx
> Signed-off-by: Michal Hocko <mhocko@xxxxxxxx>

I did exactly this before, and Andrew objected saying that __GFP_REPEAT
may not be needed for the current page allocator's implementation but
could with others and that setting __GFP_REPEAT for an allocation
provided useful information with regards to intent. At the time, I
attempted to eliminate __GFP_REPEAT entirely.