linux/tools/testing/selftests/vm
David Hildenbrand 97713a3abe selftests/vm: cow: R/O long-term pinning reliability tests for non-anon pages
Let's test whether R/O long-term pinning is reliable for non-anonymous
memory: when R/O long-term pinning a page, the expectation is that we
break COW early before pinning, such that actual write access via the
page tables won't break COW later and end up replacing the R/O-pinned
page in the page table.

Consequently, R/O long-term pinning in private mappings would only target
exclusive anonymous pages.

For now, all tests fail:
	# [RUN] R/O longterm GUP pin ... with shared zeropage
	not ok 151 Longterm R/O pin is reliable
	# [RUN] R/O longterm GUP pin ... with memfd
	not ok 152 Longterm R/O pin is reliable
	# [RUN] R/O longterm GUP pin ... with tmpfile
	not ok 153 Longterm R/O pin is reliable
	# [RUN] R/O longterm GUP pin ... with huge zeropage
	not ok 154 Longterm R/O pin is reliable
	# [RUN] R/O longterm GUP pin ... with memfd hugetlb (2048 kB)
	not ok 155 Longterm R/O pin is reliable
	# [RUN] R/O longterm GUP pin ... with memfd hugetlb (1048576 kB)
	not ok 156 Longterm R/O pin is reliable
	# [RUN] R/O longterm GUP-fast pin ... with shared zeropage
	not ok 157 Longterm R/O pin is reliable
	# [RUN] R/O longterm GUP-fast pin ... with memfd
	not ok 158 Longterm R/O pin is reliable
	# [RUN] R/O longterm GUP-fast pin ... with tmpfile
	not ok 159 Longterm R/O pin is reliable
	# [RUN] R/O longterm GUP-fast pin ... with huge zeropage
	not ok 160 Longterm R/O pin is reliable
	# [RUN] R/O longterm GUP-fast pin ... with memfd hugetlb (2048 kB)
	not ok 161 Longterm R/O pin is reliable
	# [RUN] R/O longterm GUP-fast pin ... with memfd hugetlb (1048576 kB)
	not ok 162 Longterm R/O pin is reliable

Link: https://lkml.kernel.org/r/20221116102659.70287-4-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: R/O long-term pinning reliability tests for non-anon 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 treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 191 2019-05-30 11:29:21 -07:00
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