On Wed 01-06-16 17:24:24, Russell King - ARM Linux wrote: > On Mon, May 30, 2016 at 11:14:46AM +0200, 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. > > > > PGALLOC_GFP uses __GFP_REPEAT but none of the allocation which uses > > this flag is for more than order-2. This means that this flag has never > > been actually useful here because it has always been used only for > > PAGE_ALLOC_COSTLY requests. > > I hear what you say, but... > > commit 8c65da6dc89ccb605d73773b1dd617e72982d971 > Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> > Date: Sat Nov 30 12:52:31 2013 +0000 > > ARM: pgd allocation: retry on failure > > Make pgd allocation retry on failure; we really need this to succeed > otherwise fork() can trigger OOMs. > > Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> > > and that's the change which introduced this, and it did solve a problem > for me. So I'm not happy to give an ack for this change unless someone > can tell me why adding __GFP_REPEAT back then had a beneficial effect. > Maybe there was some other bug in the MM layer in 2013 which this change > happened to solve? This is hard to tell but from the code snippet I have referenced it should be pretty clear that the low order really had a nofail semantic. git grep GFP_REPEAT 8c65da6dc89ccb605d73773b1dd617e72982d971 -- mm confirms the story. Do you remember your reproducer? -- Michal Hocko SUSE Labs -- To unsubscribe from this list: send the line "unsubscribe linux-arch" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html