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.