Re: [PATCH 0/8] Use memory compaction instead of lumpy reclaimduring high-order allocations

From: Mel Gorman
Date: Fri Nov 19 2010 - 05:49:18 EST


On Thu, Nov 18, 2010 at 11:49:28AM -0800, Andrew Morton wrote:
> On Thu, 18 Nov 2010 09:20:44 +0000
> Mel Gorman <mel@xxxxxxxxx> wrote:
>
> > > It's because migration depends on MMU. But we should be able to make
> > > a NOMMU version of migration that just does page cache, which is all
> > > that is reclaimable on NOMMU anyway.
> > >
> >
> > Conceivably, but I see little problem leaving them with lumpy reclaim.
>
> I see a really big problem: we'll need to maintain lumpy reclaim for
> ever!
>

At least as long as !CONFIG_COMPACTION exists. That will be a while because
bear in mind CONFIG_COMPACTION is disabled by default (although I believe
some distros are enabling it at least). Maybe we should choose to deprecate
it in 2.6.40 and delete it at the infamous time of 2.6.42? That would give
ample time to iron out any issues that crop up with reclaim/compaction
(what this series has turned into).

Bear in mind that lumpy reclaim is heavily isolated these days. The logic
is almost entirely contained in isolate_lru_pages() in the block starting
with the comment "Attempt to take all pages in the order aligned region
surrounding the tag page". As disruptive as lumpy reclaim is, it's basically
just a linear scanner at the end of the day and there are a few examples of
that in the kernel. If we break it, it'll be obvious.

> We keep on piling in more and more stuff, we're getting less sure that
> the old stuff is still effective. It's becoming more and more
> important to move some of our attention over to simplification, and
> to rejustification of earlier decisions.
>

I'm open to its ultimate deletion but think it's rash to do on day 1 of
reclaim/compaction. I do recognise that I might be entirely on my own with
this opinion though :)

--
Mel Gorman
Part-time Phd Student Linux Technology Center
University of Limerick IBM Dublin Software Lab
--
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/