Re: [PATCH] mm/compaction: do not break pages whose order is larger than target order

Johannes Weiner
2025-04-24T19:42:05Z

On Thu, Apr 24, 2025 at 11:38:15PM +0800, Wenchao Hao wrote:
> When scanning free pages for memory compaction, if the compaction target
> order is explicitly specified, do not split pages in buddy whose order
> are larger than compaction target order.

Have you observed this to be an issue in practice?

compact_finished() would have bailed if such a page had existed.

compaction_capture() would steal such a page upon production.

It could help with blocks freed by chance from somewhere else, where
you'd preserve it to grab it later from the allocation retry. But if
that's the target, it might be better to indeed isolate the page, and
then capture it inside compaction_alloc()?