Re: [PATCH 1/11] Add __GFP_MOVABLE flag and update callers

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




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.

Hmm?

		Linus
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux