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 <[email protected]> > Reviewed-by: Lance Yang <[email protected]> > Reviewed-by: Lorenzo Stoakes <[email protected]> > Reviewed-by: Baolin Wang <[email protected]> > Acked-by: David Hildenbrand <[email protected]> > Signed-off-by: Nico Pache <[email protected]> > --- > mm/khugepaged.c | 97 ++++++++++++++++++++++++++----------------------- > 1 file changed, 52 insertions(+), 45 deletions(-) > LGTM. Reviewed-by: Zi Yan <[email protected]>
Best Regards, Yan, Zi
