mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-07-26 09:34:32 -04:00
The added folio_split_race_test is a modified C port of the race condition test from [1]. The test creates shmem huge pages, where the main thread punches holes in the shmem to cause folio_split() in the kernel and a set of 16 threads reads the shmem to cause filemap_get_entry() in the kernel. filemap_get_entry() reads the folio and xarray split by folio_split() locklessly. The original test[2] is written in rust and uses memfd (shmem backed). This C port uses shmem directly and use a single process. Note: the initial rust to C conversion is done by Cursor. Link: https://lore.kernel.org/all/CAKNNEtw5_kZomhkugedKMPOG-sxs5Q5OLumWJdiWXv+C9Yct0w@mail.gmail.com/ [1] Link: https://github.com/dfinity/thp-madv-remove-test [2] Link: https://lkml.kernel.org/r/20260323163717.184107-1-ziy@nvidia.com Co-developed-by: Bas van Dijk <bas@dfinity.org> Signed-off-by: Bas van Dijk <bas@dfinity.org> Co-developed-by: Adam Bratschi-Kaye <adam.bratschikaye@dfinity.org> Signed-off-by: Adam Bratschi-Kaye <adam.bratschikaye@dfinity.org> Signed-off-by: Zi Yan <ziy@nvidia.com> Cc: Baolin Wang <baolin.wang@linux.alibaba.com> Cc: Barry Song <baohua@kernel.org> Cc: David Hildenbrand <david@kernel.org> Cc: Dev Jain <dev.jain@arm.com> Cc: Hugh Dickins <hughd@google.com> Cc: Lance Yang <lance.yang@linux.dev> Cc: Liam Howlett <liam.howlett@oracle.com> Cc: Lorenzo Stoakes <lorenzo.stoakes@oracle.com> Cc: Matthew Wilcox (Oracle) <willy@infradead.org> Cc: Michal Hocko <mhocko@suse.com> Cc: Mike Rapoport <rppt@kernel.org> Cc: Nico Pache <npache@redhat.com> Cc: Ryan Roberts <ryan.roberts@arm.com> Cc: Shuah Khan <shuah@kernel.org> Cc: Suren Baghdasaryan <surenb@google.com> Cc: Vlastimil Babka <vbabka@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
65 lines
975 B
Plaintext
65 lines
975 B
Plaintext
# SPDX-License-Identifier: GPL-2.0-only
|
|
cow
|
|
hugepage-mmap
|
|
hugepage-mremap
|
|
hugepage-shm
|
|
hugepage-vmemmap
|
|
hugetlb-madvise
|
|
hugetlb-read-hwpoison
|
|
hugetlb-soft-offline
|
|
khugepaged
|
|
map_hugetlb
|
|
map_populate
|
|
thuge-gen
|
|
compaction_test
|
|
memory-failure
|
|
migration
|
|
mlock2-tests
|
|
mrelease_test
|
|
mremap_dontunmap
|
|
mremap_test
|
|
on-fault-limit
|
|
transhuge-stress
|
|
pagemap_ioctl
|
|
pfnmap
|
|
process_madv
|
|
*.tmp*
|
|
protection_keys
|
|
protection_keys_32
|
|
protection_keys_64
|
|
madv_populate
|
|
uffd-stress
|
|
uffd-unit-tests
|
|
uffd-wp-mremap
|
|
mlock-intersect-test
|
|
mlock-random-test
|
|
virtual_address_range
|
|
gup_test
|
|
va_128TBswitch
|
|
map_fixed_noreplace
|
|
write_to_hugetlbfs
|
|
hmm-tests
|
|
memfd_secret
|
|
soft-dirty
|
|
split_huge_page_test
|
|
ksm_tests
|
|
local_config.h
|
|
local_config.mk
|
|
ksm_functional_tests
|
|
mdwe_test
|
|
gup_longterm
|
|
mkdirty
|
|
va_high_addr_switch
|
|
hugetlb_fault_after_madv
|
|
hugetlb_madv_vs_map
|
|
mseal_test
|
|
droppable
|
|
hugetlb_dio
|
|
pkey_sighandler_tests_32
|
|
pkey_sighandler_tests_64
|
|
guard-regions
|
|
merge
|
|
prctl_thp_disable
|
|
rmap
|
|
folio_split_race_test
|