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

From: Mel Gorman
Date: Thu Nov 18 2010 - 03:13:25 EST


On Wed, Nov 17, 2010 at 03:46:41PM -0800, Andrew Morton wrote:
> On Wed, 17 Nov 2010 16:22:41 +0000
> Mel Gorman <mel@xxxxxxxxx> wrote:
>
> > Huge page allocations are not expected to be cheap but lumpy reclaim
> > is still very disruptive.
>
> Huge pages are boring. Can we expect any benefit for the
> stupid-nic-driver-which-does-order-4-GFP_ATOMIC-allocations problem?
>

Yes. Specifically, while GFP_ATOMIC allocations still cannot enter compaction
(although with asynchronous migration, it's closer), kswapd will react
faster. As a result, it should be harder to trigger allocation failures.

Huge pages are simply the worst case in terms of allocation latency which
is why I tend to focus testing on them. That, and I don't have a suitable
pair of machines with one of these order-4-atomic-stupid-nics.

> > I haven't pushed hard on the concept of lumpy compaction yet and right
> > now I don't intend to during this cycle. The initial prototypes did not
> > behave as well as expected and this series improves the current situation
> > a lot without introducing new algorithms. Hence, I'd like this series to
> > be considered for merging.
>
> Translation: "Andrew, wait for the next version"? :)
>

Preferably do not wait unless review reveals a major flaw. Lumpy compaction
in its initial prototype versions simply did not work out as a good policy
modification and requires much deeper thought. This series was effective
at getting latencies down to the level I expected lumpy compaction to.
If I do make lumpy compaction work properly, its effect will be to reduce
scanning rates but the latencies are likely to be similar.

> > I'm hoping that this series also removes the
> > necessity for the "delete lumpy reclaim" patch from the THP tree.
>
> Now I'm sad. I read all that and was thinking "oh goody, we get to
> delete something for once". But no :(
>
> If you can get this stuff to work nicely, why can't we remove lumpy
> reclaim?

Ultimately we should be able to. Lumpy reclaim is still there for the
!CONFIG_COMPACTION case and to have an option if we find that compaction
behaves badly for some reason.

--
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/