Re: [PATCH resend] mm: compaction: optimize proactive compaction deferrals

From: David Rientjes
Date: Sun Jul 25 2021 - 21:47:43 EST


On Wed, 21 Jul 2021, Charan Teja Reddy wrote:

> Vlastimil Babka figured out that when fragmentation score didn't go down
> across the proactive compaction i.e. when no progress is made, next wake
> up for proactive compaction is deferred for 1 <<
> COMPACT_MAX_DEFER_SHIFT, i.e. 64 times, with each wakeup interval of
> HPAGE_FRAG_CHECK_INTERVAL_MSEC(=500). In each of this wakeup, it just
> decrement 'proactive_defer' counter and goes sleep i.e. it is getting
> woken to just decrement a counter. The same deferral time can also
> achieved by simply doing the HPAGE_FRAG_CHECK_INTERVAL_MSEC <<
> COMPACT_MAX_DEFER_SHIFT thus unnecessary wakeup of kcompact thread is
> avoided thus also removes the need of 'proactive_defer' thread counter.
>
> Link: https://lore.kernel.org/linux-fsdevel/88abfdb6-2c13-b5a6-5b46-742d12d1c910@xxxxxxx/
> Signed-off-by: Charan Teja Reddy <charante@xxxxxxxxxxxxxx>

With Andrew's comment fixup:

Acked-by: David Rientjes <rientjes@xxxxxxxxxx>

Thanks, Charan.