Re: [PATCH v4 1/3] kselftest: mm: prevent random failure of huge page split for khugepaged
From: Yeoreum Yun
Date: Wed Sep 02 2026 - 13:35:14 EST
On Wed, Sep 02, 2026 at 04:15:17PM +0100, Lorenzo Stoakes (ARM) wrote:
> On Wed, Sep 02, 2026 at 01:09:35PM +0100, Yeoreum Yun wrote:
> > There're some random failure for split_huge_page_test when khugepaged
> > collapses pages into pmd again which had split by the test.
> >
> > Prevent the khugepaged's collapses for split page by setting the
> > mapped pmd-huge-page with MADV_NOHUGEPAGE before split.
>
> Maybe worth saying that MADV_NOHUGEPAGE doesn't immediately split anything, just
> prevents future khugepaged collapses?
>
> >
> > Suggested-by: Kevin Brodsky <kevin.brodsky@xxxxxxx>
> > Suggested-by: Lorenzo Stoakes (ARM) <ljs@xxxxxxxxxx>
> > Signed-off-by: Yeoreum Yun <yeoreum.yun@xxxxxxx>
>
> LGTM, thanks, with a few nits above/below (sorry! :P)
>
> Reviewed-by: Lorenzo Stoakes (ARM) <ljs@xxxxxxxxxx>
>
> > ---
> > tools/testing/selftests/mm/split_huge_page_test.c | 19 +++++++++++++++++++
> > 1 file changed, 19 insertions(+)
> >
> > diff --git a/tools/testing/selftests/mm/split_huge_page_test.c b/tools/testing/selftests/mm/split_huge_page_test.c
> > index 86a603692826..4bbad892bc57 100644
> > --- a/tools/testing/selftests/mm/split_huge_page_test.c
> > +++ b/tools/testing/selftests/mm/split_huge_page_test.c
> > @@ -168,6 +168,14 @@ static char *allocate_zero_filled_hugepage(size_t len)
> > return result;
> > }
> >
> > +static void madv_nohuge(void *addr, size_t len)
>
> Maybe call it disable_khugepaged() to make it explicit that's what this is doing
> rather than eliminating any THP pages in the range?
>
> > +{
>
> Maybe a comment here like:
>
> /*
> * Disables khugepaged from collapsing THPs in range, existing THP
> * pages remain.
> */
Okay :) I'll modify in the next-round. Thanks!
[...]
--
Sincerely,
Yeoreum Yun