linux/tools/testing/selftests/vm
David Hildenbrand f8664f3c4a selftests/vm: cow: basic COW tests for non-anonymous pages
Let's add basic tests for COW with non-anonymous pages in private
mappings: write access should properly trigger COW and result in the
private changes not being visible through other page mappings.

Especially, add tests for:
* Zeropage
* Huge zeropage
* Ordinary pagecache pages via memfd and tmpfile()
* Hugetlb pages via memfd

Fortunately, all tests pass.

Link: https://lkml.kernel.org/r/20221116102659.70287-3-david@redhat.com
Signed-off-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2022-11-30 15:58:57 -08:00
..
.gitignore selftests/vm: anon_cow: prepare for non-anonymous COW tests 2022-11-30 15:58:56 -08:00
charge_reserved_hugetlb.sh selftests/vm: make charge_reserved_hugetlb.sh work with existing cgroup setting 2022-01-15 16:30:30 +02:00
check_config.sh selftests/vm: anon_cow: prepare for non-anonymous COW tests 2022-11-30 15:58:56 -08:00
compaction_test.c selftests/vm: 8x compaction_test speedup 2020-10-13 18:38:34 -07:00
config selftests: vm: add test for Soft-Dirty PTE bit 2022-04-28 23:16:11 -07:00
cow.c selftests/vm: cow: basic COW tests for non-anonymous pages 2022-11-30 15:58:57 -08:00
gup_test.c selftests/vm: use top_srcdir instead of recomputing relative paths 2022-10-05 11:05:17 -06:00
hmm-tests.c - Alistair Popple has a series which addresses a race which causes page 2022-10-14 12:28:43 -07:00
hugepage-mmap.c
hugepage-mremap.c selftests/vm: use memfd for hugepage-mremap test 2022-11-08 17:37:11 -08:00
hugepage-shm.c
hugepage-vmemmap.c selftests: vm: add a hugetlb test case 2022-03-22 15:57:08 -07:00
hugetlb_reparenting_test.sh selftests/vm: make charge_reserved_hugetlb.sh work with existing cgroup setting 2022-01-15 16:30:30 +02:00
hugetlb-madvise.c selftests/vm: update hugetlb madvise 2022-11-30 15:58:46 -08:00
khugepaged.c selftests/vm: add file/shmem MADV_COLLAPSE selftest for cleared pmd 2022-10-03 14:03:34 -07:00
ksm_tests.c selftests/vm: use top_srcdir instead of recomputing relative paths 2022-10-05 11:05:17 -06:00
madv_populate.c selftests/vm: factor out pagemap_is_populated() into vm_util 2022-11-08 17:37:14 -08:00
Makefile selftests/vm: anon_cow: prepare for non-anonymous COW tests 2022-11-30 15:58:56 -08:00
map_fixed_noreplace.c selftest/vm: fix map_fixed_noreplace test failure 2022-02-26 09:51:17 -08:00
map_hugetlb.c selftests/vm: fix display of page size in map_hugetlb 2020-09-19 13:13:39 -07:00
map_populate.c
memfd_secret.c selftests: kselftest framework: provide "finished" helper 2022-03-24 19:06:51 -07:00
migration.c mm: add selftests for migration entries 2022-04-28 23:16:07 -07:00
mlock2-tests.c selftests: vm: drop dependencies on page flags from mlock2 tests 2020-04-02 09:35:31 -07:00
mlock2.h
mlock-random-test.c selftests: Fix spelling mistake "cann't" -> "cannot" 2021-09-03 09:58:13 -07:00
mrelease_test.c selftests/vm: fix errno handling in mrelease_test 2022-07-29 18:07:14 -07:00
mremap_dontunmap.c selftests: add a MREMAP_DONTUNMAP selftest for shmem 2021-04-30 11:20:39 -07:00
mremap_test.c mm: add merging after mremap resize 2022-09-26 19:46:28 -07:00
on-fault-limit.c
pkey-helpers.h selftests/vm: remove ARRAY_SIZE define from individual tests 2021-12-10 17:51:25 -07:00
pkey-powerpc.h selftests: vm: pkeys: use the correct page size on powerpc 2020-06-04 19:06:27 -07:00
pkey-x86.h selftests/vm/pkeys: Use provided __cpuid_count() macro 2022-04-25 15:12:52 -06:00
protection_keys.c selftests/vm/pkeys: fix typo in comment 2022-05-25 10:47:48 -07:00
run_vmtests.sh selftests/vm: anon_cow: prepare for non-anonymous COW tests 2022-11-30 15:58:56 -08:00
settings selftests: vm: add the "settings" file with timeout variable 2022-05-25 10:47:49 -07:00
soft-dirty.c selftests/vm: dedup THP helpers 2022-10-03 14:03:34 -07:00
split_huge_page_test.c selftests/vm: dedup THP helpers 2022-10-03 14:03:34 -07:00
test_hmm.sh mm/hmm/test: use char dev with struct device to get device node 2022-10-03 14:03:03 -07:00
test_vmalloc.sh vm/test_vmalloc.sh: adapt for updated driver interface 2021-04-30 11:20:40 -07:00
thuge-gen.c
transhuge-stress.c selftest/vm: add util.h and and move helper functions there 2022-03-24 19:06:45 -07:00
userfaultfd.c selftests/vm: use memfd for uffd hugetlb tests 2022-11-08 17:37:11 -08:00
util.h selftest/vm: add helpers to detect PAGE_SIZE and PAGE_SHIFT 2022-03-24 19:06:45 -07:00
va_128TBswitch.c selftests/vm: skip 128TBswitch on unsupported arch 2022-07-29 18:07:14 -07:00
va_128TBswitch.sh selftests/vm: fix va_128TBswitch.sh permissions 2022-07-26 16:59:50 -07:00
virtual_address_range.c
vm_util.c selftests/vm: factor out pagemap_is_populated() into vm_util 2022-11-08 17:37:14 -08:00
vm_util.h selftests/vm: factor out pagemap_is_populated() into vm_util 2022-11-08 17:37:14 -08:00
write_hugetlb_memory.sh selftests/vm: make charge_reserved_hugetlb.sh work with existing cgroup setting 2022-01-15 16:30:30 +02:00
write_to_hugetlbfs.c selftests/vm/write_to_hugetlbfs.c: fix unused variable warning 2020-05-23 10:26:31 -07:00