[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4578BE37.1010109@goop.org>
Date: Thu, 07 Dec 2006 17:21:59 -0800
From: Jeremy Fitzhardinge <jeremy@...p.org>
To: Christoph Lameter <clameter@....com>
CC: Mel Gorman <mel@....ul.ie>, Andrew Morton <akpm@...l.org>,
Linux Memory Management List <linux-mm@...ck.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] Add __GFP_MOVABLE for callers to flag allocations that
may be migrated
Christoph Lameter wrote:
> On Wed, 6 Dec 2006, Mel Gorman wrote:
>
>> Objective: Get contiguous block of free pages
>> Required: Pages that can move
>> Move means: Migrating them or reclaiming
>> How we do it for high-order allocations: Take a page from the LRU, move
>> the pages within that high-order block
>> How we do it for unplug: Take the pages within the range of interest, move
>> all the pages out of that range
>>
>
> This is mostly the same. For unplug we would clear the freelists of
> page in the unplug range and take the pages off the LRU that are in the
> range of interest and then move them. Page migration takes pages off the
> LRU.
>
You can also deal with memory hotplug by adding a Xen-style
pseudo-physical vs machine address abstraction. This doesn't help with
making space for contiguous allocations, but it does allow you to move
"physical" pages from one machine page to another if you want to. The
paravirt ops infrastructure has already appeared in -git, and I'll soon
have patches to allow Xen's paravirtualized mmu mode to work with it,
which is a superset of what would be required to implement movable pages
for hotpluggable memory.
(I don't know if you actually want to consider this approach; I'm just
pointing out that it definitely a bad idea to conflate the two problems
of memory fragmentation and hotplug.)
J
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists