Re: [PATCH v13 mm-new 02/16] introduce collapse_single_pmd to unify khugepaged and madvise_collapse
From: Zi Yan <ziy@nvidia.com>
Date: 2025-12-02 15:36:30
Also in:
linux-doc, linux-mm, lkml
From: Zi Yan <ziy@nvidia.com>
Date: 2025-12-02 15:36:30
Also in:
linux-doc, linux-mm, lkml
On 1 Dec 2025, at 12:46, Nico Pache wrote:
The khugepaged daemon and madvise_collapse have two different implementations that do almost the same thing. Create collapse_single_pmd to increase code reuse and create an entry point to these two users. Refactor madvise_collapse and collapse_scan_mm_slot to use the new collapse_single_pmd function. This introduces a minor behavioral change that is most likely an undiscovered bug. The current implementation of khugepaged tests collapse_test_exit_or_disable before calling collapse_pte_mapped_thp, but we weren't doing it in the madvise_collapse case. By unifying these two callers madvise_collapse now also performs this check. We also modify the return value to be SCAN_ANY_PROCESS which properly indicates that this process is no longer valid to operate on. We also guard the khugepaged_pages_collapsed variable to ensure its only incremented for khugepaged. Reviewed-by: Wei Yang <redacted> Reviewed-by: Lance Yang <lance.yang@linux.dev> Reviewed-by: Lorenzo Stoakes <redacted> Reviewed-by: Baolin Wang <baolin.wang@linux.alibaba.com> Acked-by: David Hildenbrand <redacted> Signed-off-by: Nico Pache <npache@redhat.com> --- mm/khugepaged.c | 97 ++++++++++++++++++++++++++----------------------- 1 file changed, 52 insertions(+), 45 deletions(-)
LGTM. Reviewed-by: Zi Yan [off-list ref] Best Regards, Yan, Zi