Lines Matching +full:message +full:- +full:handling +full:- +full:unit
2 # SPDX-License-Identifier: GPL-2.0
5 # Kselftest framework requirement - SKIP code is 4.
16 usage: ${BASH_SOURCE[0]:-$0} [ options ]
18 -a: run all tests, including extra ones (other than destructive ones)
19 -t: specify specific categories to tests to run
20 -h: display this message
21 -n: disable TAP output
22 -d: run destructive tests
24 The default behavior is to run required tests only. If -a is specified,
28 to the -t argument containing one or more of the following categories
30 - mmap
32 - gup_test
34 - userfaultfd
36 - compaction
38 - mlock
40 - mremap
42 - hugevm
44 - vmalloc
46 - hmm
48 - madv_guard
50 - madv_populate
52 - memfd_secret
54 - process_mrelease
56 - ksm
58 - ksm_numa
60 - pkey
62 - soft_dirty
64 - pagemap
66 - cow
67 test copy-on-write semantics
68 - thp
70 - hugetlb
72 - migration
75 - mkdirty
76 test handling of code that might set PTE/PMD dirty in
77 read-only VMAs
78 - mdwe
80 - page_frag
81 test handling of page fragment allocation and freeing
83 example: ./run_vmtests.sh -t "hmm mmap ksm"
101 shift $((OPTIND -1))
104 VM_SELFTEST_ITEMS=${VM_SELFTEST_ITEMS:-default}
120 # -t: thp=on, -T: thp=off, -H: hugetlb=on
123 for huge in -t -T "-H -m $hugetlb_mb"; do
124 # -u: gup-fast, -U: gup-basic, -a: pin-fast, -b: pin-basic, -L: pin-longterm
125 for test_cmd in -u -U -a -b -L; do
126 # -w: write=1, -W: write=0
127 for write in -w -W; do
128 # -S: shared
129 for share in -S " "; do
130 # -n: How many pages to fetch together? 512 is special
133 for num in "-n 1" "-n 512" "-n 123"; do
144 while read -r name size unit; do
161 if [[ $uffd_min_KB -gt $hugetlb_min_KB ]]; then
168 if [ -n "$freepgs" ] && [ -n "$hpgsize_KB" ]; then
172 while [ "$tries" -gt 0 ] && [ "$freepgs" -lt "$needpgs" ]; do
173 lackpgs=$((needpgs - freepgs))
179 while read -r name size unit; do
184 tries=$((tries - 1))
186 if [ "$freepgs" -lt "$needpgs" ]; then
197 if [ -z "$ARCH" ]; then
198 ARCH=$(uname -m 2>/dev/null | sed -e 's/aarch64.*/arm64/')
204 sed -e "s/^/${TAP_PREFIX}/"
208 if [[ ! -z "$TAP_PREFIX" ]]; then
215 echo "$*" | sed -e 's/^\(bash \)\?\.\///'
223 if [ ${CATEGORY} == "thp" -o ${CATEGORY} == "hugetlb" ]; then
232 local sep=$(echo -n "$title" | tr "[:graph:][:space:]" -)
238 if [ $ret -eq 0 ]; then
242 elif [ $ret -eq $ksft_skip ]; then
258 CATEGORY="hugetlb" run_test ./hugepage-mmap
264 CATEGORY="hugetlb" run_test ./hugepage-shm
269 CATEGORY="hugetlb" run_test ./hugepage-mremap
270 CATEGORY="hugetlb" run_test ./hugepage-vmemmap
271 CATEGORY="hugetlb" run_test ./hugetlb-madvise
294 CATEGORY="gup_test" run_test ./gup_test -u
296 CATEGORY="gup_test" run_test ./gup_test -a
299 CATEGORY="gup_test" run_test ./gup_test -ct -F 0x1 0 19 0x1000
302 CATEGORY="userfaultfd" run_test ./uffd-unit-tests
303 uffd_stress_bin=./uffd-stress
307 # uffd-stress expects a region expressed in MiB, so we adjust
311 CATEGORY="userfaultfd" run_test ${uffd_stress_bin} hugetlb-private "$half_ufd_size_MB" 32
313 CATEGORY="userfaultfd" run_test ${uffd_stress_bin} shmem-private 20 16
314 CATEGORY="userfaultfd" run_test ./uffd-wp-mremap
321 if command -v sudo &> /dev/null;
323 CATEGORY="mlock" run_test sudo -u nobody ./on-fault-limit
325 echo "# SKIP ./on-fault-limit"
330 CATEGORY="mlock" run_test ./mlock-random-test
332 CATEGORY="mlock" run_test ./mlock2-tests
338 CATEGORY="hugetlb" run_test ./thuge-gen
339 CATEGORY="hugetlb" run_test ./charge_reserved_hugetlb.sh -cgroup-v2
340 CATEGORY="hugetlb" run_test ./hugetlb_reparenting_test.sh -cgroup-v2
345 CATEGORY="hugetlb" run_test ./hugetlb-soft-offline
348 CATEGORY="hugetlb" run_test ./hugetlb-read-hwpoison
351 if [ $VADDR64 -ne 0 ]; then
357 if [ -x ./virtual_address_range ]; then
384 CATEGORY="madv_guard" run_test ./guard-pages
389 if [ -x ./memfd_secret ]
396 CATEGORY="ksm" run_test ./ksm_tests -H -s 100
398 CATEGORY="ksm" run_test ./ksm_tests -P -s 100
400 CATEGORY="ksm" run_test ./ksm_tests -M -p 10
402 CATEGORY="ksm" run_test ./ksm_tests -U
404 CATEGORY="ksm" run_test ./ksm_tests -Z -p 10 -z 0
406 CATEGORY="ksm" run_test ./ksm_tests -Z -p 10 -z 1
408 CATEGORY="ksm_numa" run_test ./ksm_tests -N -m 1
410 CATEGORY="ksm_numa" run_test ./ksm_tests -N -m 0
416 if [ -x ./protection_keys_32 ]
421 if [ -x ./protection_keys_64 ]
427 if [ -x ./soft-dirty ]
429 CATEGORY="soft_dirty" run_test ./soft-dirty
439 CATEGORY="thp" run_test ./khugepaged -s 2
441 CATEGORY="thp" run_test ./transhuge-stress -d 20
444 if [ -z "${SPLIT_HUGE_PAGE_TEST_XFS_PATH}" ]; then
448 SPLIT_HUGE_PAGE_TEST_XFS_PATH=$(mktemp -d /tmp/xfs_dir_XXXXXX)
449 truncate -s 314572800 ${XFS_IMG}
450 mkfs.xfs -q ${XFS_IMG}
451 mount -o loop ${XFS_IMG} ${SPLIT_HUGE_PAGE_TEST_XFS_PATH}
459 if [ -n "${MOUNTED_XFS}" ]; then
462 rm -f ${XFS_IMG}