Re: [PATCH 1/1] mm: thp: Redefine default THP defrag behaviour disable it by default

From: Andrea Arcangeli
Date: Fri Feb 26 2016 - 14:50:24 EST

Hello Mel,

On Fri, Feb 26, 2016 at 11:13:16AM +0000, Mel Gorman wrote:
> 1. By default, "madvise" and direct reclaim/compaction for applications
> that specifically requested that behaviour. This will avoid breaking
> MADV_HUGEPAGE which you mentioned in a few places

Defragging memory synchronously only under madvise is fine with me.

> 2. "never" will never reclaim anything and was the default behaviour of
> version 1 but will not be the default in version 2.
> 3. "defer" will wake kswapd which will reclaim or wake kcompactd
> whichever is necessary. This is new but avoids stalls while helping
> khugepaged do its work quickly in the near future.

This is an kABI visible change, but it should be ok. I'm not aware of
any program that parses that file and could get confused.

"defer" sounds an interesting default option if it could be made to
work better.

> 4. "always" will direct reclaim/compact just like todays behaviour

I suspect there are a number of apps that took advantage of the
"always" setting without realizing it, but we only could notice the
ones that don't. In any case those apps can start to call
MADV_HUGEPAGE if they don't already and that will provide a definitive
fix. With this approach MADV_HUGEPAGE will provide the same
reliability in allocation as before so there will be no problem then.