Re: [patch] mm, compaction: abort free scanner if split fails

From: Vlastimil Babka
Date: Wed Jun 22 2016 - 07:13:58 EST


On 06/22/2016 03:22 AM, David Rientjes wrote:
If the memory compaction free scanner cannot successfully split a free
page (only possible due to per-zone low watermark), terminate the free
scanner rather than continuing to scan memory needlessly. If the
watermark is insufficient for a free page of order <= cc->order, then
terminate the scanner since all future splits will also likely fail.

This prevents the compaction freeing scanner from scanning all memory on
very large zones (very noticeable for zones > 128GB, for instance) when
all splits will likely fail while holding zone->lock.

Cc: stable@xxxxxxxxxxxxxxx
Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx>

Acked-by: Vlastimil Babka <vbabka@xxxxxxx>

---
Based on Linus's tree

Suggest including in 4.7 if anybody else agrees?

4.7 definitely. Stable is less clear especially if you say it won't apply cleanly, but if you're ready to handle it, sure. The rules now allow fixing glaring performance bugs.

Thanks.