On Tue, Sep 28, 2010 at 02:36:55PM -0700, Andrew Morton wrote: > On Tue, 28 Sep 2010 03:45:10 -0700 (PDT) > David Rientjes <rientjes@xxxxxxxxxx> wrote: > > > Order-0 allocations, including quicklist_alloc(), are always under > > PAGE_ALLOC_COSTLY_ORDER, so they loop endlessly in the page allocator > > already without the need for __GFP_REPEAT. > > That's only true for the current implementation of the page allocator. > > If we were to change the page allocator behaviour to not do that (and > we change it daily!) then all those callsites which wanted __GFP_REPEAT > behaviour will get broken. So someone would need to go back and work > out how to unbreak them, if we remembered. > > Plus there's presumably some documentary benefit in leaving the > __GFP_REPEATs in there. > > Why are those __GFP_REPEATs present at those callsites? What were > developers trying to achieve? As I understand it, it's come about by way of evolution. I think (I can't check) that we had loops in the allocation functions. These were removed and replaced by __GFP_REPEATs sometime before the current GIT history started. I'd check on bkbits.net which I'm sure will have it, but unfortunately I can't get access to the history for include/asm-arm/pgalloc.h prior to its move to arch/arm. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>