Re: [PATCH mm-new v2 1/1] mm/khugepaged: abort collapse scan on non-swap entries
From: Lance Yang
Date: Wed Oct 01 2025 - 05:38:46 EST
On 2025/10/1 16:31, David Hildenbrand wrote:
On 01.10.25 05:22, Lance Yang wrote:
From: Lance Yang <lance.yang@xxxxxxxxx>
Currently, special non-swap entries (like migration, hwpoison, or PTE
markers) are not caught early in hpage_collapse_scan_pmd(), leading to
failures deep in the swap-in logic.
hpage_collapse_scan_pmd()
`- collapse_huge_page()
`- __collapse_huge_page_swapin() -> fails!
As David suggested[1], this patch skips any such non-swap entries
early. If any one is found, the scan is aborted immediately with the
SCAN_PTE_NON_PRESENT result, as Lorenzo suggested[2], avoiding wasted
work.
[1] https://lore.kernel.org/linux-mm/7840f68e-7580-42cb- a7c8-1ba64fd6df69@xxxxxxxxxx
[2] https://lore.kernel.org/linux-mm/7df49fe7-c6b7-426a-8680- dcd55219c8bd@lucifer.local
Suggested-by: David Hildenbrand <david@xxxxxxxxxx>
Suggested-by: Lorenzo Stoakes <lorenzo.stoakes@xxxxxxxxxx>
Signed-off-by: Lance Yang <lance.yang@xxxxxxxxx>
---
Could have mentioned you adjust the flow of code to resemble what we have in __collapse_huge_page_isolate().
Thanks for pointing that out! Let's do that separately. I'm working
on a follow-up patch that will unify the scanning with the
almost-duplicated code as you suggested ;)
Acked-by: David Hildenbrand <david@xxxxxxxxxx>
Cheers!