Re: [PATCH 05/11] mm, compaction: distinguish COMPACT_DEFERRED from COMPACT_SKIPPED

From: Vlastimil Babka
Date: Mon Apr 11 2016 - 07:02:27 EST


On 04/05/2016 01:25 PM, Michal Hocko wrote:
From: Michal Hocko <mhocko@xxxxxxxx>

try_to_compact_pages can currently return COMPACT_SKIPPED even when the
compaction is defered for some zone just because zone DMA is skipped
in 99% of cases due to watermark checks. This makes COMPACT_DEFERRED
basically unusable for the page allocator as a feedback mechanism.

Make sure we distinguish those two states properly and switch their
ordering in the enum. This would mean that the COMPACT_SKIPPED will be
returned only when all eligible zones are skipped.

This shouldn't introduce any functional change.

Hmm, really? __alloc_pages_direct_compact() does distinguish COMPACT_DEFERRED, and sets *deferred compaction, so ultimately this is some change for THP allocations?

Also there's no mention of COMPACT_INACTIVE in the changelog (which indeed isn't functional change, but might surprise somebody).

Signed-off-by: Michal Hocko <mhocko@xxxxxxxx>

Patch itself is OK.

Acked-by: Vlastimil Babka <vbabka@xxxxxxx>