Re: [PATCH v3 05/18] selftests/mm: keep khugepaged out of the swapout the swap cases set up

From: Mike Rapoport

Date: Thu Aug 13 2026 - 11:10:19 EST


> selftests/mm: keep khugepaged out of the swapout the swap cases set up

Huh?

> collapse_swapin_single_pte() and collapse_max_ptes_swap() page a range out

Maybe "page out a range"? or even swap out?

> and then require smaps to report exactly the count they asked for. Two
> things keep it from arriving. MADV_PAGEOUT is best effort, so the count
> often turns up a moment late. And wait_for_scan() leaves MADV_HUGEPAGE
> behind, so khugepaged is still working on the range: collapsing one with up
> to max_ptes_swap pages swapped out means reading them back in, and the
> daemon empties the swap as fast as the case fills it. On arm64 with 64K
> pages, where max_ptes_swap is 1024 pages, that is 64M a step and the case
> loses:

Splitting to paragraphs would help I think. And maybe rewriting by hand
rather then instructing claude.

> # Swapout 1024 of 8192 pages... Fail
> not ok 10 collapse_max_ptes_swap
>
> Ask again for up to two seconds, with the range held out of the daemon's
> reach while asking. The collapse each case runs next puts MADV_HUGEPAGE
> back, so only the setup is affected.
>
> If the pages still will not go, skip. is_swap_enabled() covers a machine
> with no swap; what is left -- swap too small, full, capped by a memcg, busy
> with writeback -- is not the kernel under test refusing. An error from
> madvise() itself still ends the run.

This commit message broke me, I'm going to skip the remaining patches
for now.

--
Sincerely yours,
Mike.