> 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.

