Re: [PATCH mm-new 1/3] mm/khugepaged: skip unsuitable VMAs earlier in khugepaged_scan_mm_slot()

From: Lance Yang
Date: Tue Sep 16 2025 - 05:59:42 EST




On 2025/9/16 17:39, Lorenzo Stoakes wrote:
On Tue, Sep 16, 2025 at 10:29:11AM +0100, Kiryl Shutsemau wrote:
On Tue, Sep 16, 2025 at 02:21:26PM +0800, Lance Yang wrote:
Users of mlock() expect low and predictable latency. THP collapse is a
heavy operation that introduces exactly the kind of unpredictable delays
they want to avoid. It has to unmap PTEs, copy data from the small folios
to a new THP, and then remap the THP back to the PMD ;)

Generally, we allow minor page faults into mlocked VMAs and avoid major.
This is minor page fault territory in my view.

Makes sense to me!


Hm, but we won't be causing minor faults via reclaim right, since they're
not on any LRU?


Also it is very similar to what compaction does and we allow compaction
of mlocked VMA by default, unless sysctl vm.compact_unevictable_allowed
is set to zero.

This is a much stronger point.

Ah, indeed, the compaction analogy is quite strong here, thanks!


I think we are sometimes too vague as to what mlock() means in

Totally agree on too vague ;)

totality. But given that we default allow compaction it seems sensible to
keep this behaviour the same.

Unless you have a specific situation where this is problematic Lance?

Not a specific situation right now that would clearly make this problematic.

Anyway, I will drop this patch from the series.

Thanks again for all the feedback everyone!
Lance