Re: [patch v3 5/6] mm, thp: avoid excessive compaction latency during fault

Mel Gorman
2014-05-07T09:39:40Z

On Tue, May 06, 2014 at 07:22:50PM -0700, David Rientjes wrote:
> Synchronous memory compaction can be very expensive: it can iterate an enormous
> amount of memory without aborting, constantly rescheduling, waiting on page
> locks and lru_lock, etc, if a pageblock cannot be defragmented.
>
> Unfortunately, it's too expensive for transparent hugepage page faults and
> it's much better to simply fallback to pages. On 128GB machines, we find that
> synchronous memory compaction can take O(seconds) for a single thp fault.
>
> Now that async compaction remembers where it left off without strictly relying
> on sync compaction, this makes thp allocations best-effort without causing
> egregious latency during fault. We still need to retry async compaction after
> reclaim, but this won't stall for seconds.
>
> Signed-off-by: David Rientjes <rientjes@google.com>

Acked-by: Mel Gorman <mgorman@suse.de>

--
Mel Gorman
SUSE Labs