Re: [PATCH v9 02/14] introduce collapse_single_pmd to unify khugepaged and madvise_collapse
From: Nico Pache <npache@redhat.com>
Date: 2025-07-23 01:56:33
Also in:
linux-doc, linux-mm, lkml
On Tue, Jul 15, 2025 at 9:54 AM David Hildenbrand [off-list ref] wrote:
On 14.07.25 02:31, Nico Pache wrote:quoted
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@linux.alibaba.com> Signed-off-by: Nico Pache <npache@redhat.com> --- 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 <redacted>
Much appreciated :)
-- Cheers, David / dhildenb