Re: [PATCH 01 of 66] disable lumpy when compaction is enabled

Mel Gorman
2010-11-09T21:39:14Z

On Tue, Nov 09, 2010 at 10:30:49PM +0100, Andrea Arcangeli wrote:
> On Tue, Nov 09, 2010 at 12:18:49PM +0900, KOSAKI Motohiro wrote:
> > I'm talking very personal thing now. I'm usually testing both feature.
> > Then, runtime switching makes my happy :-)
> > However I don't know what are you and Mel talking and agree about this.
> > So, If many developer prefer this approach, I don't oppose anymore.
>
> Mel seem to still prefer I allow lumpy for hugetlbfs with a
> __GFP_LUMPY specified only for hugetlbfs. But he measured compaction
> is more reliable than lumpy at creating hugepages so he seems to be ok
> with this too.
>

Specifically, I measured that lumpy in combination with compaction is
more reliable and lower latency but that's not the same as deleting it.

That said, lumpy does hurt the system a lot. I'm prototyping a series at the
moment that pushes lumpy reclaim to the side and for the majority of cases
replaces it with "lumpy compaction". I'd hoping this will be sufficient for
THP and alleviate the need to delete it entirely - at least until we are 100%
sure that compaction can replace it in all cases.

Unfortunately, in the process of testing it today I also found out that
2.6.37-rc1 had regressed severely in terms of huge page allocations so I'm
side-tracked trying to chase that down. My initial theories for the regression
have shown up nothing so I'm currently preparing to do a bisection. This
will take a long time though because the test is very slow :(

I can still post the series as an RFC if you like to show what direction
I'm thinking of but at the moment, I'm unable to test it until I pin the
regression down.

> > But, I bet almost all distro choose CONFIG_COMPACTION=y. then, lumpy code
> > will become nearly dead code. So, I like just kill than dead code. however
> > it is also only my preference. ;)
>
> Killing dead code is my preference too indeed. But then it's fine with
> me to delete it only later. In short this is least intrusive
> modification I could make to the VM that wouldn't than hang the system
> when THP is selected because all pte young bits are ignored for >50%
> of page reclaim invocations like lumpy requires.
>

--
Mel Gorman
Part-time Phd Student Linux Technology Center
University of Limerick IBM Dublin Software Lab