On Tue, Jul 15, 2025 at 9:54 AM David Hildenbrand <david@xxxxxxxxxx> wrote: > > On 14.07.25 02:31, 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. > > > > Reviewed-by: Baolin Wang <baolin.wang@xxxxxxxxxxxxxxxxx> > > Signed-off-by: Nico Pache <npache@xxxxxxxxxx> > > --- > > mm/khugepaged.c | 95 +++++++++++++++++++++++++------------------------ > > 1 file changed, 49 insertions(+), 46 deletions(-) > > > > diff --git a/mm/khugepaged.c b/mm/khugepaged.c > > index eb0babb51868..47a80638af97 100644 > > --- a/mm/khugepaged.c > > +++ b/mm/khugepaged.c > > @@ -2362,6 +2362,50 @@ static int collapse_scan_file(struct mm_struct *mm, unsigned long addr, > > return result; > > } > > > > +/* > > + * Try to collapse a single PMD starting at a PMD aligned addr, and return > > + * the results. > > + */ > > +static int collapse_single_pmd(unsigned long addr, > > + struct vm_area_struct *vma, bool *mmap_locked, > > + struct collapse_control *cc) > > Nit: we tend to use two-tabs indent here. Thanks I cleaned up these indentations! > > Nice cleanup! > > Acked-by: David Hildenbrand <david@xxxxxxxxxx> Much appreciated :) > > -- > Cheers, > > David / dhildenb >