linux/tools/testing/selftests/mm
Dev Jain e3d8707358 selftests/mm/hmm-tests: test pagemap reads of PMD device-private entries
To cover pagemap paths scanning PMD entries, add assertions to check
whether a device-private PMD entry has the correct pagemap information -
the PM_SWAP bit must be on in the pagemap entry.  Before that, we must
assert through HMM_DMIRROR_SNAPSHOT snapshot that the leaf entry is at PMD
level and not PTE level.

Link: https://lore.kernel.org/20260604055308.1947679-3-dev.jain@arm.com
Signed-off-by: Dev Jain <dev.jain@arm.com>
Reviewed-by: Lorenzo Stoakes <ljs@kernel.org>
Cc: Balbir Singh <balbirs@nvidia.com>
Cc: David Hildenbrand (Arm) <david@kernel.org>
Cc: Oscar Salvador (SUSE) <osalvador@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
History 2026-06-08 18:21:33 -07:00
..
page_frag selftests/mm: default KDIR to build directory 2026-01-31 14:22:40 -08:00
.gitignore selftests/mm: add folio_split() and filemap_get_entry() race test 2026-04-05 13:53:36 -07:00
charge_reserved_hugetlb.sh selftests: mm: skip charge_reserved_hugetlb without killall 2026-04-18 00:10:56 -07:00
check_config.sh selftests/mm: suppress compiler error in liburing check 2026-05-28 21:04:39 -07:00
compaction_test.c selftests: complete kselftest include centralization 2025-11-27 14:24:31 -08:00
config selftests/mm: specify requirement for PROC_MEM_ALWAYS_FORCE=y 2026-04-27 05:54:26 -07:00
cow.c selftests/mm: check that FORCE_READ() succeeded 2026-01-31 14:22:41 -08:00
droppable.c selftests/mm: run the MAP_DROPPABLE selftest 2026-05-28 21:04:48 -07:00
folio_split_race_test.c selftests/mm: add folio_split() and filemap_get_entry() race test 2026-04-05 13:53:36 -07:00
guard-regions.c selftests/mm/guard-regions: skip collapse test when thp not enabled 2026-04-18 00:10:54 -07:00
gup_longterm.c tools/testing/selftests: fix gup_longterm for unknown fs 2026-01-14 22:16:26 -08:00
gup_test.c Significant patch series in this pull request: 2025-12-06 14:01:20 -08:00
hmm-tests.c selftests/mm/hmm-tests: test pagemap reads of PMD device-private entries 2026-06-08 18:21:33 -07:00
hugepage-mmap.c selftests: complete kselftest include centralization 2025-11-27 14:24:31 -08:00
hugepage-mremap.c selftests: complete kselftest include centralization 2025-11-27 14:24:31 -08:00
hugepage-shm.c selftests/mm: remove unnecessary ia64 code and comment 2024-09-03 21:15:38 -07:00
hugepage-vmemmap.c selftests/mm: remove unnecessary ia64 code and comment 2024-09-03 21:15:38 -07:00
hugetlb-madvise.c selftests/mm: introduce helper to read every page 2026-01-31 14:22:41 -08:00
hugetlb-read-hwpoison.c selftests: complete kselftest include centralization 2025-11-27 14:24:31 -08:00
hugetlb-soft-offline.c selftests: complete kselftest include centralization 2025-11-27 14:24:31 -08:00
hugetlb_dio.c selftests/mm: skip hugetlb_dio tests when DIO alignment is incompatible 2026-04-18 00:10:52 -07:00
hugetlb_fault_after_madv.c selftests: complete kselftest include centralization 2025-11-27 14:24:31 -08:00
hugetlb_madv_vs_map.c selftests: complete kselftest include centralization 2025-11-27 14:24:31 -08:00
hugetlb_reparenting_test.sh selftests/mm: restore default nr_hugepages value during cleanup in hugetlb_reparenting_test.sh 2025-05-11 17:48:29 -07:00
khugepaged.c selftests/mm: khugepaged: initialize file contents via mmap 2026-05-28 21:05:03 -07:00
ksft_compaction.sh selftests/mm: have the harness run each test category separately 2026-01-31 14:22:53 -08:00
ksft_cow.sh selftests/mm: have the harness run each test category separately 2026-01-31 14:22:53 -08:00
ksft_gup_test.sh selftests/mm: have the harness run each test category separately 2026-01-31 14:22:53 -08:00
ksft_hmm.sh selftests/mm: have the harness run each test category separately 2026-01-31 14:22:53 -08:00
ksft_hugetlb.sh selftests/mm: have the harness run each test category separately 2026-01-31 14:22:53 -08:00
ksft_hugevm.sh selftests/mm: have the harness run each test category separately 2026-01-31 14:22:53 -08:00
ksft_kmemleak_dedup.sh selftests/mm: add kmemleak verbose dedup test 2026-05-28 21:05:09 -07:00
ksft_ksm.sh selftests/mm: have the harness run each test category separately 2026-01-31 14:22:53 -08:00
ksft_ksm_numa.sh selftests/mm: have the harness run each test category separately 2026-01-31 14:22:53 -08:00
ksft_madv_guard.sh selftests/mm: have the harness run each test category separately 2026-01-31 14:22:53 -08:00
ksft_madv_populate.sh selftests/mm: have the harness run each test category separately 2026-01-31 14:22:53 -08:00
ksft_mdwe.sh selftests/mm: have the harness run each test category separately 2026-01-31 14:22:53 -08:00
ksft_memfd_secret.sh selftests/mm: have the harness run each test category separately 2026-01-31 14:22:53 -08:00
ksft_memory_failure.sh selftests/mm: add memory failure anonymous page test 2026-02-12 15:43:01 -08:00
ksft_migration.sh selftests/mm: have the harness run each test category separately 2026-01-31 14:22:53 -08:00
ksft_mkdirty.sh selftests/mm: have the harness run each test category separately 2026-01-31 14:22:53 -08:00
ksft_mlock.sh selftests/mm: have the harness run each test category separately 2026-01-31 14:22:53 -08:00
ksft_mmap.sh selftests/mm: have the harness run each test category separately 2026-01-31 14:22:53 -08:00
ksft_mremap.sh selftests/mm: have the harness run each test category separately 2026-01-31 14:22:53 -08:00
ksft_page_frag.sh selftests/mm: have the harness run each test category separately 2026-01-31 14:22:53 -08:00
ksft_pagemap.sh selftests/mm: have the harness run each test category separately 2026-01-31 14:22:53 -08:00
ksft_pfnmap.sh selftests/mm: have the harness run each test category separately 2026-01-31 14:22:53 -08:00
ksft_pkey.sh selftests/mm: have the harness run each test category separately 2026-01-31 14:22:53 -08:00
ksft_process_madv.sh selftests/mm: have the harness run each test category separately 2026-01-31 14:22:53 -08:00
ksft_process_mrelease.sh selftests/mm: have the harness run each test category separately 2026-01-31 14:22:53 -08:00
ksft_rmap.sh selftests/mm: have the harness run each test category separately 2026-01-31 14:22:53 -08:00
ksft_soft_dirty.sh selftests/mm: have the harness run each test category separately 2026-01-31 14:22:53 -08:00
ksft_thp.sh selftests/mm: have the harness run each test category separately 2026-01-31 14:22:53 -08:00
ksft_userfaultfd.sh selftests/mm: have the harness run each test category separately 2026-01-31 14:22:53 -08:00
ksft_vma_merge.sh selftests/mm: have the harness run each test category separately 2026-01-31 14:22:53 -08:00
ksft_vmalloc.sh selftests/mm: have the harness run each test category separately 2026-01-31 14:22:53 -08:00
ksm_functional_tests.c selftests/mm: ksm-functional-tests: fix partial write handling 2026-06-02 15:22:15 -07:00
ksm_tests.c selftests: complete kselftest include centralization 2025-11-27 14:24:31 -08:00
madv_populate.c selftests: complete kselftest include centralization 2025-11-27 14:24:31 -08:00
Makefile selftests/mm: add kmemleak verbose dedup test 2026-05-28 21:05:09 -07:00
map_fixed_noreplace.c selftests: complete kselftest include centralization 2025-11-27 14:24:31 -08:00
map_hugetlb.c selftests: complete kselftest include centralization 2025-11-27 14:24:31 -08:00
map_populate.c selftests: complete kselftest include centralization 2025-11-27 14:24:31 -08:00
mdwe_test.c selftests: complete kselftest include centralization 2025-11-27 14:24:31 -08:00
memfd_secret.c selftests: complete kselftest include centralization 2025-11-27 14:24:31 -08:00
memory-failure.c selftests/mm: remove duplicate include of unistd.h 2026-04-05 13:53:01 -07:00
merge.c tools/testing/selftests: add merge test for partial msealed range 2026-04-18 00:10:52 -07:00
migration.c selftests/mm: skip migration tests if NUMA is unavailable 2026-04-05 13:52:57 -07:00
mkdirty.c selftests: complete kselftest include centralization 2025-11-27 14:24:31 -08:00
mlock-random-test.c selftests: complete kselftest include centralization 2025-11-27 14:24:31 -08:00
mlock2-tests.c selftests/mm: verify droppable mappings cannot be locked 2026-05-28 21:04:48 -07:00
mlock2.h selftests/mm/mlock: print error on failure 2025-03-16 22:06:40 -07:00
mrelease_test.c selftests: complete kselftest include centralization 2025-11-27 14:24:31 -08:00
mremap_dontunmap.c selftests: complete kselftest include centralization 2025-11-27 14:24:31 -08:00
mremap_test.c selftests/mm: simplify byte pattern checking in mremap_test 2026-05-28 21:04:53 -07:00
mseal_helpers.h selftests/mm: mseal, self_elf: rename TEST_END_CHECK to REPORT_TEST_PASS 2024-07-03 19:30:07 -07:00
mseal_test.c selftests: complete kselftest include centralization 2025-11-27 14:24:31 -08:00
on-fault-limit.c selftests: complete kselftest include centralization 2025-11-27 14:24:31 -08:00
pagemap_ioctl.c selftests/mm: pagemap_ioctl: remove hungarian notation 2026-04-05 13:53:27 -07:00
pfnmap.c selftests/mm: report SKIP in pfnmap if a check fails 2026-01-31 14:22:42 -08:00
pkey-arm64.h selftests/mm: rename pkey register macro 2025-01-13 22:40:56 -08:00
pkey-helpers.h selftests: complete kselftest include centralization 2025-11-27 14:24:31 -08:00
pkey-powerpc.h selftests/mm: fix a build failure on powerpc 2025-05-07 23:39:41 -07:00
pkey-x86.h selftests/mm: ensure pkey-*.h define inline functions only 2025-01-13 22:40:55 -08:00
pkey_sighandler_tests.c selftests/mm: add -Wunreachable-code and fix warnings 2025-09-21 14:22:34 -07:00
pkey_util.c selftests/mm: fix build break when compiling pkey_util.c 2025-05-07 23:39:41 -07:00
prctl_thp_disable.c selftests: complete kselftest include centralization 2025-11-27 14:24:31 -08:00
process_madv.c mm/madvise: reject invalid process_madvise() advice for zero-length vectors 2026-05-28 21:04:57 -07:00
protection_keys.c selftests/mm: protection_keys: fix dead code 2025-09-21 14:22:34 -07:00
rmap.c selftests: complete kselftest include centralization 2025-11-27 14:24:31 -08:00
run_vmtests.sh selftests/mm: run the MAP_DROPPABLE selftest 2026-05-28 21:04:48 -07:00
settings selftests/mm: increase timeout from 180 to 900 seconds 2025-06-19 20:48:01 -07:00
soft-dirty.c selftests/mm: soft-dirty: skip two tests when thp is not available 2026-04-18 00:10:54 -07:00
split_huge_page_test.c selftests/mm/split_huge_page_test.c: close fd on write error 2026-06-04 14:44:59 -07:00
test_hmm.sh selftests/mm: give scripts execute permission 2023-07-14 09:24:31 -07:00
test_page_frag.sh mm: page_frag: add a test module for page_frag 2024-11-11 10:56:26 -08:00
test_vmalloc.sh lib/test_vmalloc.c: minor fixes to test_vmalloc.c 2026-01-20 19:24:47 -08:00
thp_settings.c selftests/mm: move write_file helper to vm_util 2026-04-18 00:10:54 -07:00
thp_settings.h selftests/mm: move write_file helper to vm_util 2026-04-18 00:10:54 -07:00
thuge-gen.c selftests: complete kselftest include centralization 2025-11-27 14:24:31 -08:00
transhuge-stress.c selftests/mm: transhuge_stress: skip the test when thp not available 2026-04-18 00:10:54 -07:00
uffd-common.c selftests/mm/uffd: remove static address usage in shmem_allocate_area() 2025-11-20 13:44:00 -08:00
uffd-common.h selftests: complete kselftest include centralization 2025-11-27 14:24:31 -08:00
uffd-stress.c selftests/mm/uffd: initialize char variable to Null 2025-11-29 10:41:09 -08:00
uffd-unit-tests.c selftests/mm: fix thread state check in uffd-unit-tests 2025-12-23 11:23:14 -08:00
uffd-wp-mremap.c selftests: complete kselftest include centralization 2025-11-27 14:24:31 -08:00
va_high_addr_switch.c selftests/mm: va_high_addr_switch return fail when either test failed 2026-01-20 19:24:52 -08:00
va_high_addr_switch.sh selftests/mm: fix comment for check_test_requirements 2026-01-20 19:24:52 -08:00
vm_util.c selftests/mm/vm_util: robust write_file() 2026-04-18 00:10:54 -07:00
vm_util.h selftests/mm: move write_file helper to vm_util 2026-04-18 00:10:54 -07:00
write_hugetlb_memory.sh selftests/mm: switch to bash from sh 2024-01-25 23:52:20 -08:00
write_to_hugetlbfs.c selftests/mm/write_to_hugetlbfs: parse -s as size_t 2026-01-20 19:24:50 -08:00