The contract tests check that MADV_COLD neither populates a PTE hole nor faults a swapped page back in. MADV_PAGEOUT makes the same promises, so check them for it too.
Signed-off-by: Gregory Price (Meta) <[email protected]> --- tools/testing/selftests/mm/madvise.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/tools/testing/selftests/mm/madvise.c b/tools/testing/selftests/mm/madvise.c index bb4efb92e6da..42cc08fe45ae 100644 --- a/tools/testing/selftests/mm/madvise.c +++ b/tools/testing/selftests/mm/madvise.c @@ -85,6 +85,11 @@ TEST_F(madvise, cold_skips_pte_hole) check_skips_pte_hole(_metadata, self->pagemap_fd, MADV_COLD); } +TEST_F(madvise, pageout_skips_pte_hole) +{ + check_skips_pte_hole(_metadata, self->pagemap_fd, MADV_PAGEOUT); +} + /* Neither hint may be applied to locked memory. */ TEST_F(madvise, locked_vma_is_rejected) { @@ -131,4 +136,9 @@ TEST_F(madvise, cold_skips_swapped_pte) check_skips_swapped_pte(_metadata, self->pagemap_fd, MADV_COLD); } +TEST_F(madvise, pageout_skips_swapped_pte) +{ + check_skips_swapped_pte(_metadata, self->pagemap_fd, MADV_PAGEOUT); +} + TEST_HARNESS_MAIN -- 2.56.0

