Re: [PATCH] Add __GFP_MOVABLE for callers to flag allocations thatmay be migrated

From: Andrew Morton
Date: Mon Dec 04 2006 - 17:35:58 EST


On Mon, 4 Dec 2006 20:34:29 +0000 (GMT)
Mel Gorman <mel@xxxxxxxxx> wrote:

> > IOW: big-picture where-do-we-go-from-here stuff.
> >
>
> Start with lumpy reclaim,

I had lumpy-reclaim in my todo-queue but it seems to have gone away. I
think I need a lumpy-reclaim resend, please.

> then I'd like to merge page clustering piece by
> piece, ideally with one of the people with e1000 problems testing to see
> does it make a difference.
>
> Assuming they are shown to help, where we'd go from there would be stuff
> like;
>
> 1. Keep non-movable and reapable allocations at the lower PFNs as much as
> possible. This is so DIMMS for higher PFNs can be removed (doesn't
> exist)

"as much as possible" won't suffice, I suspect. If there's any chance at
all that a non-moveable page can land in a hot-unpluggable region then
there will be failure scenarios. Easy-to-hit ones, I suspect.

> 2. Use page migration to compact memory rather than depending solely on
> reclaim (doesn't exist)

Yup.

> 3. Introduce a mechanism for marking a group of pages as being offlined so
> that they are not reallocated (code that does something like this
> exists)

yup.

> 4. Resurrect the hotplug-remove code (exists, but probably very stale)

I don't even remember what that looks like.

> 5. Allow allocations for hugepages outside of the pool as long as the
> process remains with it's locked_vm limits (patches were posted to
> libhugetlbfs last Friday. will post to linux-mm tomorrow).

hm.


I'm not saying that we need to do memory hot-unplug immediately. But the
overlaps between this and anti-frag and lumpiness are sufficient that I do
think that we need to work out how we'll implement hot-unplug, so we don't
screw ourselves up later on.

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