Re: [patch 1/6] md: remove dependency on __GFP_NOFAIL

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: David Rientjes
Date: Monday, August 23, 2010 - 12:35 pm

On Mon, 23 Aug 2010, Andrew Morton wrote:


That consolidation would have been unnecessary, then, since all 
allocations with order < PAGE_ALLOC_COSTLY_ORDER automatically loop 
indefinitely in the page allocator.  struct dm_region allocations would 
already do that.

So this retry loop doesn't actually do anything that the page allocator 
already doesn't, with or without __GFP_NOFAIL.  The difference here is 
that

 - it doesn't depend on the page allocator's implementation, which may
   change over time, and

 - it adds documentation so that the subsystems doing these loops can
   (hopefully) fix these problems later, although their appear to be
   geniune cases where little other options are available.


It removes several branches from the page allocator.


If the prerequisite for removing __GFP_NOFAIL is that nobody must ever 
loop indefinitely looking for memory or smaller order allocations don't 
implicitly retry, then there's little chance it'll ever get removed since 
they've existed for years without anybody cleaning them up.
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[patch 0/6] remove dependency on __GFP_NOFAIL, David Rientjes, (Mon Aug 16, 7:57 pm)
[patch 1/6] md: remove dependency on __GFP_NOFAIL, David Rientjes, (Mon Aug 16, 7:57 pm)
[patch 2/6] btrfs: remove dependency on __GFP_NOFAIL, David Rientjes, (Mon Aug 16, 7:57 pm)
[patch 3/6] gfs2: remove dependency on __GFP_NOFAIL, David Rientjes, (Mon Aug 16, 7:57 pm)
[patch 4/6] jbd: remove dependency on __GFP_NOFAIL, David Rientjes, (Mon Aug 16, 7:58 pm)
[patch 5/6] ntfs: remove dependency on __GFP_NOFAIL, David Rientjes, (Mon Aug 16, 7:58 pm)
[patch 6/6] reiserfs: remove dependency on __GFP_NOFAIL, David Rientjes, (Mon Aug 16, 7:58 pm)
Re: [patch 4/6] jbd: remove dependency on __GFP_NOFAIL, David Rientjes, (Tue Aug 17, 10:48 am)
Re: [patch 1/6] md: remove dependency on __GFP_NOFAIL, Andrew Morton, (Mon Aug 23, 12:26 pm)
Re: [patch 4/6] jbd: remove dependency on __GFP_NOFAIL, Andrew Morton, (Mon Aug 23, 12:28 pm)
Re: [patch 1/6] md: remove dependency on __GFP_NOFAIL, David Rientjes, (Mon Aug 23, 12:35 pm)
Re: [patch 1/6] md: remove dependency on __GFP_NOFAIL, Andrew Morton, (Mon Aug 23, 12:51 pm)
Re: [patch 1/6] md: remove dependency on __GFP_NOFAIL, Andrew Morton, (Mon Aug 23, 1:01 pm)
Re: [patch 1/6] md: remove dependency on __GFP_NOFAIL, David Rientjes, (Mon Aug 23, 1:03 pm)
Re: [patch 1/6] md: remove dependency on __GFP_NOFAIL, David Rientjes, (Mon Aug 23, 1:08 pm)
Re: [patch 1/6] md: remove dependency on __GFP_NOFAIL, Pekka Enberg, (Mon Aug 23, 1:09 pm)
Re: [patch 1/6] md: remove dependency on __GFP_NOFAIL, David Rientjes, (Mon Aug 23, 1:13 pm)
Re: [patch 1/6] md: remove dependency on __GFP_NOFAIL, Andrew Morton, (Mon Aug 23, 1:23 pm)
Re: [patch 1/6] md: remove dependency on __GFP_NOFAIL, Pekka Enberg, (Mon Aug 23, 1:29 pm)
Re: [patch 1/6] md: remove dependency on __GFP_NOFAIL, David Rientjes, (Mon Aug 23, 1:37 pm)
Re: [patch 1/6] md: remove dependency on __GFP_NOFAIL, David Rientjes, (Mon Aug 23, 1:40 pm)
Re: [patch 4/6] jbd: remove dependency on __GFP_NOFAIL, Andrew Morton, (Mon Aug 23, 3:11 pm)
Re: [patch 4/6] jbd: remove dependency on __GFP_NOFAIL, David Rientjes, (Mon Aug 23, 3:22 pm)