[lkml]   [2006]   [Nov]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH 1/11] Add __GFP_MOVABLE flag and update callers

On Fri, 24 Nov 2006, Hugh Dickins wrote:
> You need to add in something like the patch below (mutatis mutandis
> for whichever approach you end up taking): tmpfs uses highmem pages
> for its swap vector blocks, noting where on swap the data pages are,
> and allocates them with mapping_gfp_mask(inode->i_mapping); but we
> don't have any mechanism in place for reclaiming or migrating those.

I think this really just points out that you should _not_ put MOVABLE into
the "mapping_gfp_mask()" at all.

The mapping_gfp_mask() should really just contain the "constraints" on
the allocation, not the "how the allocation is used". So things like "I
need all my pages to be in the 32bit DMA'able region" is a constraint on
the allocator, as is something like "I need the allocation to be atomic".

But MOVABLE is really not a constraint on the allocator, it's a guarantee
by the code _calling_ the allocator that it will then make sure that it
_uses_ the allocation in a way that means that it is movable.

So it shouldn't be a property of the mapping itself, it should always be a
property of the code that actually does the allocation.


To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

 \ /
  Last update: 2009-11-18 23:46    [W:0.089 / U:1.096 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site