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 - 03:06:05 EST
On 2025/9/16 14:42, Hugh Dickins wrote:
On Tue, 16 Sep 2025, Lance Yang wrote:
Hi Hugh,
Thanks for taking a look and for raising this important point!
On 2025/9/16 13:32, Hugh Dickins wrote:
On Sun, 14 Sep 2025, Lance Yang wrote:
From: Lance Yang <lance.yang@xxxxxxxxx>
Let's skip unsuitable VMAs early in the khugepaged scan; specifically,
mlocked VMAs should not be touched.
Why? That's a change in behaviour, isn't it?
I'm aware that hugepage collapse on an mlocked VMA can insert a fault
latency, not universally welcome; but I've not seen discussion, let
alone agreement, that current behaviour should be changed.
Somewhere in yet-to-be-read mail? Please give us a link.
Hugh
You're right, this is indeed a change in behaviour. But it's specifically
for khugepaged.
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 ;)
IMO, that change is acceptable because THP is generally transparent to
users, and khugepaged does not guarantee when THP collapse or split will
happen.
I disagree. Many of those who have khugepaged enabled would prefer
it to give them hugepages, even or especially on mlocked areas.
If you make that change, it must be guarded by a sysfs or sysctl tuning.
Thanks for the feedback!
Well, seems like we're not on the same page. Let's gather more opinions from
other folks ;)
Perhaps it could share the sysctl_compact_unevictable_allowed tuning
(I'm not sure whether that's a good or bad idea: opinions will differ).
Thanks,
Lance
Hugh
Well, we don't have a discussion on that, just something I noticed.
Thanks,
Lance