Re: [patch] arch: remove __GFP_REPEAT for order-0 allocations

David Rientjes
2010-09-29T01:11:02Z

On Tue, 28 Sep 2010, Andrew Morton wrote:

> What I care about is that very smart, experienced and hard-working
> Linux developers decided, a long time ago, that page-table allocations
> are special, and need special treatment. This is information!
>

Then they implemented it incorrectly since __GFP_REPEAT has never given
any order-0 allocation special treatment.

> What I also care about is lazy MM developers who just rip stuff out
> without understanding it and without even bothering to make an
> *attempt* to understand it.
>

I understand that __GFP_REPEAT does absolutely nothing in all the places
that I removed it in this patch, but if you want to use a gfp flag as
documentation instead of adding a comment to the PAGE_ALLOC_COSTLY_ORDER
retry logic, then that's your call, but I would certainly suggest cleaning
up the erroneous documentation in the tree that specifies its semantics.

> > So, given the fact that the PAGE_ALLOC_COSTLY_ORDER logic has existed
> > since the same time, the semantics of __GFP_REPEAT have changed and are
> > often misrepresented, and we don't even invoke the __GFP_REPEAT logic for
> > any of the allocations in my patch since they are oom killable,
>
> Probably this is because lazy ignorant MM developers broke earlier
> intentions without even knowing that they were doing so.
>

The intention was that they loop forever, but since that's implicit for
these order-0 allocations, I guess you allowed its semantics to change in
a41f24ea without the same objections?