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


Reply via email to