1*053f45beSAndroid Build Coastguard WorkerFrom 751d6062f18faffca34fe9e98ca4a139d6c468d7 Mon Sep 17 00:00:00 2001
2*053f45beSAndroid Build Coastguard WorkerFrom: Edward Liaw <[email protected]>
3*053f45beSAndroid Build Coastguard WorkerDate: Tue, 19 Apr 2022 23:09:36 +0000
4*053f45beSAndroid Build Coastguard WorkerSubject: [PATCH 11/20] run_vmtests: Disable tests with unmet dependencies
5*053f45beSAndroid Build Coastguard Worker
6*053f45beSAndroid Build Coastguard WorkerThe hugepage-mmap, hugepage-shm, map_hugetlb, compaction, and
7*053f45beSAndroid Build Coastguard Workeruserfaultfd tests cannot be run due to unmet dependencies.
8*053f45beSAndroid Build Coastguard Worker
9*053f45beSAndroid Build Coastguard Worker(cherry picked from commit 946413011af990b7220e73af57c0bc2196275524)
10*053f45beSAndroid Build Coastguard WorkerBug: 67017050
11*053f45beSAndroid Build Coastguard WorkerTest: make -j vts
12*053f45beSAndroid Build Coastguard Worker---
13*053f45beSAndroid Build Coastguard Worker tools/testing/selftests/vm/run_vmtests.sh | 298 +++++++++++-----------
14*053f45beSAndroid Build Coastguard Worker 1 file changed, 149 insertions(+), 149 deletions(-)
15*053f45beSAndroid Build Coastguard Worker
16*053f45beSAndroid Build Coastguard Workerdiff --git a/tools/testing/selftests/vm/run_vmtests.sh b/tools/testing/selftests/vm/run_vmtests.sh
17*053f45beSAndroid Build Coastguard Workerindex e780e76c26b8..b936dfe44822 100755
18*053f45beSAndroid Build Coastguard Worker--- a/tools/testing/selftests/vm/run_vmtests.sh
19*053f45beSAndroid Build Coastguard Worker+++ b/tools/testing/selftests/vm/run_vmtests.sh
20*053f45beSAndroid Build Coastguard Worker@@ -8,62 +8,62 @@ ksft_skip=4
21*053f45beSAndroid Build Coastguard Worker mnt=./huge
22*053f45beSAndroid Build Coastguard Worker exitcode=0
23*053f45beSAndroid Build Coastguard Worker
24*053f45beSAndroid Build Coastguard Worker-#get huge pagesize and freepages from /proc/meminfo
25*053f45beSAndroid Build Coastguard Worker-while read -r name size unit; do
26*053f45beSAndroid Build Coastguard Worker-	if [ "$name" = "HugePages_Free:" ]; then
27*053f45beSAndroid Build Coastguard Worker-		freepgs="$size"
28*053f45beSAndroid Build Coastguard Worker-	fi
29*053f45beSAndroid Build Coastguard Worker-	if [ "$name" = "Hugepagesize:" ]; then
30*053f45beSAndroid Build Coastguard Worker-		hpgsize_KB="$size"
31*053f45beSAndroid Build Coastguard Worker-	fi
32*053f45beSAndroid Build Coastguard Worker-done < /proc/meminfo
33*053f45beSAndroid Build Coastguard Worker-
34*053f45beSAndroid Build Coastguard Worker-# Simple hugetlbfs tests have a hardcoded minimum requirement of
35*053f45beSAndroid Build Coastguard Worker-# huge pages totaling 256MB (262144KB) in size.  The userfaultfd
36*053f45beSAndroid Build Coastguard Worker-# hugetlb test requires a minimum of 2 * nr_cpus huge pages.  Take
37*053f45beSAndroid Build Coastguard Worker-# both of these requirements into account and attempt to increase
38*053f45beSAndroid Build Coastguard Worker-# number of huge pages available.
39*053f45beSAndroid Build Coastguard Worker-nr_cpus=$(nproc)
40*053f45beSAndroid Build Coastguard Worker-hpgsize_MB=$((hpgsize_KB / 1024))
41*053f45beSAndroid Build Coastguard Worker-half_ufd_size_MB=$((((nr_cpus * hpgsize_MB + 127) / 128) * 128))
42*053f45beSAndroid Build Coastguard Worker-needmem_KB=$((half_ufd_size_MB * 2 * 1024))
43*053f45beSAndroid Build Coastguard Worker-
44*053f45beSAndroid Build Coastguard Worker-#set proper nr_hugepages
45*053f45beSAndroid Build Coastguard Worker-if [ -n "$freepgs" ] && [ -n "$hpgsize_KB" ]; then
46*053f45beSAndroid Build Coastguard Worker-	nr_hugepgs=$(cat /proc/sys/vm/nr_hugepages)
47*053f45beSAndroid Build Coastguard Worker-	needpgs=$((needmem_KB / hpgsize_KB))
48*053f45beSAndroid Build Coastguard Worker-	tries=2
49*053f45beSAndroid Build Coastguard Worker-	while [ "$tries" -gt 0 ] && [ "$freepgs" -lt "$needpgs" ]; do
50*053f45beSAndroid Build Coastguard Worker-		lackpgs=$((needpgs - freepgs))
51*053f45beSAndroid Build Coastguard Worker-		echo 3 > /proc/sys/vm/drop_caches
52*053f45beSAndroid Build Coastguard Worker-		if ! echo $((lackpgs + nr_hugepgs)) > /proc/sys/vm/nr_hugepages; then
53*053f45beSAndroid Build Coastguard Worker-			echo "Please run this test as root"
54*053f45beSAndroid Build Coastguard Worker-			exit $ksft_skip
55*053f45beSAndroid Build Coastguard Worker-		fi
56*053f45beSAndroid Build Coastguard Worker-		while read -r name size unit; do
57*053f45beSAndroid Build Coastguard Worker-			if [ "$name" = "HugePages_Free:" ]; then
58*053f45beSAndroid Build Coastguard Worker-				freepgs=$size
59*053f45beSAndroid Build Coastguard Worker-			fi
60*053f45beSAndroid Build Coastguard Worker-		done < /proc/meminfo
61*053f45beSAndroid Build Coastguard Worker-		tries=$((tries - 1))
62*053f45beSAndroid Build Coastguard Worker-	done
63*053f45beSAndroid Build Coastguard Worker-	if [ "$freepgs" -lt "$needpgs" ]; then
64*053f45beSAndroid Build Coastguard Worker-		printf "Not enough huge pages available (%d < %d)\n" \
65*053f45beSAndroid Build Coastguard Worker-		       "$freepgs" "$needpgs"
66*053f45beSAndroid Build Coastguard Worker-		exit 1
67*053f45beSAndroid Build Coastguard Worker-	fi
68*053f45beSAndroid Build Coastguard Worker-else
69*053f45beSAndroid Build Coastguard Worker-	echo "no hugetlbfs support in kernel?"
70*053f45beSAndroid Build Coastguard Worker-	exit 1
71*053f45beSAndroid Build Coastguard Worker-fi
72*053f45beSAndroid Build Coastguard Worker-
73*053f45beSAndroid Build Coastguard Worker-#filter 64bit architectures
74*053f45beSAndroid Build Coastguard Worker-ARCH64STR="arm64 ia64 mips64 parisc64 ppc64 ppc64le riscv64 s390x sh64 sparc64 x86_64"
75*053f45beSAndroid Build Coastguard Worker-if [ -z "$ARCH" ]; then
76*053f45beSAndroid Build Coastguard Worker-	ARCH=$(uname -m 2>/dev/null | sed -e 's/aarch64.*/arm64/')
77*053f45beSAndroid Build Coastguard Worker-fi
78*053f45beSAndroid Build Coastguard Worker-VADDR64=0
79*053f45beSAndroid Build Coastguard Worker-echo "$ARCH64STR" | grep "$ARCH" && VADDR64=1
80*053f45beSAndroid Build Coastguard Worker+##get huge pagesize and freepages from /proc/meminfo
81*053f45beSAndroid Build Coastguard Worker+#while read -r name size unit; do
82*053f45beSAndroid Build Coastguard Worker+#	if [ "$name" = "HugePages_Free:" ]; then
83*053f45beSAndroid Build Coastguard Worker+#		freepgs="$size"
84*053f45beSAndroid Build Coastguard Worker+#	fi
85*053f45beSAndroid Build Coastguard Worker+#	if [ "$name" = "Hugepagesize:" ]; then
86*053f45beSAndroid Build Coastguard Worker+#		hpgsize_KB="$size"
87*053f45beSAndroid Build Coastguard Worker+#	fi
88*053f45beSAndroid Build Coastguard Worker+#done < /proc/meminfo
89*053f45beSAndroid Build Coastguard Worker+#
90*053f45beSAndroid Build Coastguard Worker+## Simple hugetlbfs tests have a hardcoded minimum requirement of
91*053f45beSAndroid Build Coastguard Worker+## huge pages totaling 256MB (262144KB) in size.  The userfaultfd
92*053f45beSAndroid Build Coastguard Worker+## hugetlb test requires a minimum of 2 * nr_cpus huge pages.  Take
93*053f45beSAndroid Build Coastguard Worker+## both of these requirements into account and attempt to increase
94*053f45beSAndroid Build Coastguard Worker+## number of huge pages available.
95*053f45beSAndroid Build Coastguard Worker+#nr_cpus=$(nproc)
96*053f45beSAndroid Build Coastguard Worker+#hpgsize_MB=$((hpgsize_KB / 1024))
97*053f45beSAndroid Build Coastguard Worker+#half_ufd_size_MB=$((((nr_cpus * hpgsize_MB + 127) / 128) * 128))
98*053f45beSAndroid Build Coastguard Worker+#needmem_KB=$((half_ufd_size_MB * 2 * 1024))
99*053f45beSAndroid Build Coastguard Worker+#
100*053f45beSAndroid Build Coastguard Worker+##set proper nr_hugepages
101*053f45beSAndroid Build Coastguard Worker+#if [ -n "$freepgs" ] && [ -n "$hpgsize_KB" ]; then
102*053f45beSAndroid Build Coastguard Worker+#	nr_hugepgs=$(cat /proc/sys/vm/nr_hugepages)
103*053f45beSAndroid Build Coastguard Worker+#	needpgs=$((needmem_KB / hpgsize_KB))
104*053f45beSAndroid Build Coastguard Worker+#	tries=2
105*053f45beSAndroid Build Coastguard Worker+#	while [ "$tries" -gt 0 ] && [ "$freepgs" -lt "$needpgs" ]; do
106*053f45beSAndroid Build Coastguard Worker+#		lackpgs=$((needpgs - freepgs))
107*053f45beSAndroid Build Coastguard Worker+#		echo 3 > /proc/sys/vm/drop_caches
108*053f45beSAndroid Build Coastguard Worker+#		if ! echo $((lackpgs + nr_hugepgs)) > /proc/sys/vm/nr_hugepages; then
109*053f45beSAndroid Build Coastguard Worker+#			echo "Please run this test as root"
110*053f45beSAndroid Build Coastguard Worker+#			exit $ksft_skip
111*053f45beSAndroid Build Coastguard Worker+#		fi
112*053f45beSAndroid Build Coastguard Worker+#		while read -r name size unit; do
113*053f45beSAndroid Build Coastguard Worker+#			if [ "$name" = "HugePages_Free:" ]; then
114*053f45beSAndroid Build Coastguard Worker+#				freepgs=$size
115*053f45beSAndroid Build Coastguard Worker+#			fi
116*053f45beSAndroid Build Coastguard Worker+#		done < /proc/meminfo
117*053f45beSAndroid Build Coastguard Worker+#		tries=$((tries - 1))
118*053f45beSAndroid Build Coastguard Worker+#	done
119*053f45beSAndroid Build Coastguard Worker+#	if [ "$freepgs" -lt "$needpgs" ]; then
120*053f45beSAndroid Build Coastguard Worker+#		printf "Not enough huge pages available (%d < %d)\n" \
121*053f45beSAndroid Build Coastguard Worker+#		       "$freepgs" "$needpgs"
122*053f45beSAndroid Build Coastguard Worker+#		exit 1
123*053f45beSAndroid Build Coastguard Worker+#	fi
124*053f45beSAndroid Build Coastguard Worker+#else
125*053f45beSAndroid Build Coastguard Worker+#	echo "no hugetlbfs support in kernel?"
126*053f45beSAndroid Build Coastguard Worker+#	exit 1
127*053f45beSAndroid Build Coastguard Worker+#fi
128*053f45beSAndroid Build Coastguard Worker+#
129*053f45beSAndroid Build Coastguard Worker+##filter 64bit architectures
130*053f45beSAndroid Build Coastguard Worker+#ARCH64STR="arm64 ia64 mips64 parisc64 ppc64 ppc64le riscv64 s390x sh64 sparc64 x86_64"
131*053f45beSAndroid Build Coastguard Worker+#if [ -z "$ARCH" ]; then
132*053f45beSAndroid Build Coastguard Worker+#	ARCH=$(uname -m 2>/dev/null | sed -e 's/aarch64.*/arm64/')
133*053f45beSAndroid Build Coastguard Worker+#fi
134*053f45beSAndroid Build Coastguard Worker+#VADDR64=0
135*053f45beSAndroid Build Coastguard Worker+#echo "$ARCH64STR" | grep "$ARCH" && VADDR64=1
136*053f45beSAndroid Build Coastguard Worker
137*053f45beSAndroid Build Coastguard Worker # Usage: run_test [test binary] [arbitrary test arguments...]
138*053f45beSAndroid Build Coastguard Worker run_test() {
139*053f45beSAndroid Build Coastguard Worker@@ -84,63 +84,63 @@ run_test() {
140*053f45beSAndroid Build Coastguard Worker 	fi
141*053f45beSAndroid Build Coastguard Worker }
142*053f45beSAndroid Build Coastguard Worker
143*053f45beSAndroid Build Coastguard Worker-mkdir "$mnt"
144*053f45beSAndroid Build Coastguard Worker-mount -t hugetlbfs none "$mnt"
145*053f45beSAndroid Build Coastguard Worker-
146*053f45beSAndroid Build Coastguard Worker-run_test ./hugepage-mmap
147*053f45beSAndroid Build Coastguard Worker-
148*053f45beSAndroid Build Coastguard Worker-shmmax=$(cat /proc/sys/kernel/shmmax)
149*053f45beSAndroid Build Coastguard Worker-shmall=$(cat /proc/sys/kernel/shmall)
150*053f45beSAndroid Build Coastguard Worker-echo 268435456 > /proc/sys/kernel/shmmax
151*053f45beSAndroid Build Coastguard Worker-echo 4194304 > /proc/sys/kernel/shmall
152*053f45beSAndroid Build Coastguard Worker-run_test ./hugepage-shm
153*053f45beSAndroid Build Coastguard Worker-echo "$shmmax" > /proc/sys/kernel/shmmax
154*053f45beSAndroid Build Coastguard Worker-echo "$shmall" > /proc/sys/kernel/shmall
155*053f45beSAndroid Build Coastguard Worker-
156*053f45beSAndroid Build Coastguard Worker-run_test ./map_hugetlb
157*053f45beSAndroid Build Coastguard Worker-
158*053f45beSAndroid Build Coastguard Worker-run_test ./hugepage-mremap "$mnt"/huge_mremap
159*053f45beSAndroid Build Coastguard Worker-rm -f "$mnt"/huge_mremap
160*053f45beSAndroid Build Coastguard Worker-
161*053f45beSAndroid Build Coastguard Worker-run_test ./hugepage-vmemmap
162*053f45beSAndroid Build Coastguard Worker-
163*053f45beSAndroid Build Coastguard Worker-run_test ./hugetlb-madvise "$mnt"/madvise-test
164*053f45beSAndroid Build Coastguard Worker-rm -f "$mnt"/madvise-test
165*053f45beSAndroid Build Coastguard Worker-
166*053f45beSAndroid Build Coastguard Worker-echo "NOTE: The above hugetlb tests provide minimal coverage.  Use"
167*053f45beSAndroid Build Coastguard Worker-echo "      https://github.com/libhugetlbfs/libhugetlbfs.git for"
168*053f45beSAndroid Build Coastguard Worker-echo "      hugetlb regression testing."
169*053f45beSAndroid Build Coastguard Worker-
170*053f45beSAndroid Build Coastguard Worker-run_test ./map_fixed_noreplace
171*053f45beSAndroid Build Coastguard Worker-
172*053f45beSAndroid Build Coastguard Worker-# get_user_pages_fast() benchmark
173*053f45beSAndroid Build Coastguard Worker-run_test ./gup_test -u
174*053f45beSAndroid Build Coastguard Worker-# pin_user_pages_fast() benchmark
175*053f45beSAndroid Build Coastguard Worker-run_test ./gup_test -a
176*053f45beSAndroid Build Coastguard Worker-# Dump pages 0, 19, and 4096, using pin_user_pages:
177*053f45beSAndroid Build Coastguard Worker-run_test ./gup_test -ct -F 0x1 0 19 0x1000
178*053f45beSAndroid Build Coastguard Worker-
179*053f45beSAndroid Build Coastguard Worker-uffd_mods=("" ":dev")
180*053f45beSAndroid Build Coastguard Worker-for mod in "${uffd_mods[@]}"; do
181*053f45beSAndroid Build Coastguard Worker-	run_test ./userfaultfd anon${mod} 20 16
182*053f45beSAndroid Build Coastguard Worker-	# Hugetlb tests require source and destination huge pages. Pass in half
183*053f45beSAndroid Build Coastguard Worker-	# the size ($half_ufd_size_MB), which is used for *each*.
184*053f45beSAndroid Build Coastguard Worker-	run_test ./userfaultfd hugetlb${mod} "$half_ufd_size_MB" 32
185*053f45beSAndroid Build Coastguard Worker-	run_test ./userfaultfd hugetlb_shared${mod} "$half_ufd_size_MB" 32 "$mnt"/uffd-test
186*053f45beSAndroid Build Coastguard Worker-	rm -f "$mnt"/uffd-test
187*053f45beSAndroid Build Coastguard Worker-	run_test ./userfaultfd shmem${mod} 20 16
188*053f45beSAndroid Build Coastguard Worker-done
189*053f45beSAndroid Build Coastguard Worker-
190*053f45beSAndroid Build Coastguard Worker-#cleanup
191*053f45beSAndroid Build Coastguard Worker-umount "$mnt"
192*053f45beSAndroid Build Coastguard Worker-rm -rf "$mnt"
193*053f45beSAndroid Build Coastguard Worker-echo "$nr_hugepgs" > /proc/sys/vm/nr_hugepages
194*053f45beSAndroid Build Coastguard Worker-
195*053f45beSAndroid Build Coastguard Worker-run_test ./compaction_test
196*053f45beSAndroid Build Coastguard Worker+#mkdir "$mnt"
197*053f45beSAndroid Build Coastguard Worker+#mount -t hugetlbfs none "$mnt"
198*053f45beSAndroid Build Coastguard Worker+#
199*053f45beSAndroid Build Coastguard Worker+#run_test ./hugepage-mmap
200*053f45beSAndroid Build Coastguard Worker+#
201*053f45beSAndroid Build Coastguard Worker+#shmmax=$(cat /proc/sys/kernel/shmmax)
202*053f45beSAndroid Build Coastguard Worker+#shmall=$(cat /proc/sys/kernel/shmall)
203*053f45beSAndroid Build Coastguard Worker+#echo 268435456 > /proc/sys/kernel/shmmax
204*053f45beSAndroid Build Coastguard Worker+#echo 4194304 > /proc/sys/kernel/shmall
205*053f45beSAndroid Build Coastguard Worker+#run_test ./hugepage-shm
206*053f45beSAndroid Build Coastguard Worker+#echo "$shmmax" > /proc/sys/kernel/shmmax
207*053f45beSAndroid Build Coastguard Worker+#echo "$shmall" > /proc/sys/kernel/shmall
208*053f45beSAndroid Build Coastguard Worker+#
209*053f45beSAndroid Build Coastguard Worker+#run_test ./map_hugetlb
210*053f45beSAndroid Build Coastguard Worker+#
211*053f45beSAndroid Build Coastguard Worker+#run_test ./hugepage-mremap "$mnt"/huge_mremap
212*053f45beSAndroid Build Coastguard Worker+#rm -f "$mnt"/huge_mremap
213*053f45beSAndroid Build Coastguard Worker+#
214*053f45beSAndroid Build Coastguard Worker+#run_test ./hugepage-vmemmap
215*053f45beSAndroid Build Coastguard Worker+#
216*053f45beSAndroid Build Coastguard Worker+#run_test ./hugetlb-madvise "$mnt"/madvise-test
217*053f45beSAndroid Build Coastguard Worker+#rm -f "$mnt"/madvise-test
218*053f45beSAndroid Build Coastguard Worker+#
219*053f45beSAndroid Build Coastguard Worker+#echo "NOTE: The above hugetlb tests provide minimal coverage.  Use"
220*053f45beSAndroid Build Coastguard Worker+#echo "      https://github.com/libhugetlbfs/libhugetlbfs.git for"
221*053f45beSAndroid Build Coastguard Worker+#echo "      hugetlb regression testing."
222*053f45beSAndroid Build Coastguard Worker+#
223*053f45beSAndroid Build Coastguard Worker+#run_test ./map_fixed_noreplace
224*053f45beSAndroid Build Coastguard Worker+#
225*053f45beSAndroid Build Coastguard Worker+## get_user_pages_fast() benchmark
226*053f45beSAndroid Build Coastguard Worker+#run_test ./gup_test -u
227*053f45beSAndroid Build Coastguard Worker+## pin_user_pages_fast() benchmark
228*053f45beSAndroid Build Coastguard Worker+#run_test ./gup_test -a
229*053f45beSAndroid Build Coastguard Worker+## Dump pages 0, 19, and 4096, using pin_user_pages:
230*053f45beSAndroid Build Coastguard Worker+#run_test ./gup_test -ct -F 0x1 0 19 0x1000
231*053f45beSAndroid Build Coastguard Worker+#
232*053f45beSAndroid Build Coastguard Worker+#uffd_mods=("" ":dev")
233*053f45beSAndroid Build Coastguard Worker+#for mod in "${uffd_mods[@]}"; do
234*053f45beSAndroid Build Coastguard Worker+#	run_test ./userfaultfd anon${mod} 20 16
235*053f45beSAndroid Build Coastguard Worker+#	# Hugetlb tests require source and destination huge pages. Pass in half
236*053f45beSAndroid Build Coastguard Worker+#	# the size ($half_ufd_size_MB), which is used for *each*.
237*053f45beSAndroid Build Coastguard Worker+#	run_test ./userfaultfd hugetlb${mod} "$half_ufd_size_MB" 32
238*053f45beSAndroid Build Coastguard Worker+#	run_test ./userfaultfd hugetlb_shared${mod} "$half_ufd_size_MB" 32 "$mnt"/uffd-test
239*053f45beSAndroid Build Coastguard Worker+#	rm -f "$mnt"/uffd-test
240*053f45beSAndroid Build Coastguard Worker+#	run_test ./userfaultfd shmem${mod} 20 16
241*053f45beSAndroid Build Coastguard Worker+#done
242*053f45beSAndroid Build Coastguard Worker+#
243*053f45beSAndroid Build Coastguard Worker+##cleanup
244*053f45beSAndroid Build Coastguard Worker+#umount "$mnt"
245*053f45beSAndroid Build Coastguard Worker+#rm -rf "$mnt"
246*053f45beSAndroid Build Coastguard Worker+#echo "$nr_hugepgs" > /proc/sys/vm/nr_hugepages
247*053f45beSAndroid Build Coastguard Worker+#
248*053f45beSAndroid Build Coastguard Worker+#run_test ./compaction_test
249*053f45beSAndroid Build Coastguard Worker
250*053f45beSAndroid Build Coastguard Worker run_test sudo -u nobody ./on-fault-limit
251*053f45beSAndroid Build Coastguard Worker
252*053f45beSAndroid Build Coastguard Worker-run_test ./map_populate
253*053f45beSAndroid Build Coastguard Worker+#run_test ./map_populate
254*053f45beSAndroid Build Coastguard Worker
255*053f45beSAndroid Build Coastguard Worker run_test ./mlock-random-test
256*053f45beSAndroid Build Coastguard Worker
257*053f45beSAndroid Build Coastguard Worker@@ -152,49 +152,49 @@ run_test ./mremap_test
258*053f45beSAndroid Build Coastguard Worker
259*053f45beSAndroid Build Coastguard Worker run_test ./thuge-gen
260*053f45beSAndroid Build Coastguard Worker
261*053f45beSAndroid Build Coastguard Worker-if [ $VADDR64 -ne 0 ]; then
262*053f45beSAndroid Build Coastguard Worker-	run_test ./virtual_address_range
263*053f45beSAndroid Build Coastguard Worker-
264*053f45beSAndroid Build Coastguard Worker-	# virtual address 128TB switch test
265*053f45beSAndroid Build Coastguard Worker-	run_test ./va_128TBswitch.sh
266*053f45beSAndroid Build Coastguard Worker-fi # VADDR64
267*053f45beSAndroid Build Coastguard Worker+#if [ $VADDR64 -ne 0 ]; then
268*053f45beSAndroid Build Coastguard Worker+#	run_test ./virtual_address_range
269*053f45beSAndroid Build Coastguard Worker+#
270*053f45beSAndroid Build Coastguard Worker+#	# virtual address 128TB switch test
271*053f45beSAndroid Build Coastguard Worker+#	run_test ./va_128TBswitch.sh
272*053f45beSAndroid Build Coastguard Worker+#fi # VADDR64
273*053f45beSAndroid Build Coastguard Worker
274*053f45beSAndroid Build Coastguard Worker # vmalloc stability smoke test
275*053f45beSAndroid Build Coastguard Worker-run_test ./test_vmalloc.sh smoke
276*053f45beSAndroid Build Coastguard Worker+#run_test ./test_vmalloc.sh smoke
277*053f45beSAndroid Build Coastguard Worker
278*053f45beSAndroid Build Coastguard Worker run_test ./mremap_dontunmap
279*053f45beSAndroid Build Coastguard Worker
280*053f45beSAndroid Build Coastguard Worker-run_test ./test_hmm.sh smoke
281*053f45beSAndroid Build Coastguard Worker-
282*053f45beSAndroid Build Coastguard Worker-# MADV_POPULATE_READ and MADV_POPULATE_WRITE tests
283*053f45beSAndroid Build Coastguard Worker-run_test ./madv_populate
284*053f45beSAndroid Build Coastguard Worker-
285*053f45beSAndroid Build Coastguard Worker-run_test ./memfd_secret
286*053f45beSAndroid Build Coastguard Worker-
287*053f45beSAndroid Build Coastguard Worker-# KSM MADV_MERGEABLE test with 10 identical pages
288*053f45beSAndroid Build Coastguard Worker-run_test ./ksm_tests -M -p 10
289*053f45beSAndroid Build Coastguard Worker-# KSM unmerge test
290*053f45beSAndroid Build Coastguard Worker-run_test ./ksm_tests -U
291*053f45beSAndroid Build Coastguard Worker-# KSM test with 10 zero pages and use_zero_pages = 0
292*053f45beSAndroid Build Coastguard Worker-run_test ./ksm_tests -Z -p 10 -z 0
293*053f45beSAndroid Build Coastguard Worker-# KSM test with 10 zero pages and use_zero_pages = 1
294*053f45beSAndroid Build Coastguard Worker-run_test ./ksm_tests -Z -p 10 -z 1
295*053f45beSAndroid Build Coastguard Worker-# KSM test with 2 NUMA nodes and merge_across_nodes = 1
296*053f45beSAndroid Build Coastguard Worker-run_test ./ksm_tests -N -m 1
297*053f45beSAndroid Build Coastguard Worker-# KSM test with 2 NUMA nodes and merge_across_nodes = 0
298*053f45beSAndroid Build Coastguard Worker-run_test ./ksm_tests -N -m 0
299*053f45beSAndroid Build Coastguard Worker-
300*053f45beSAndroid Build Coastguard Worker-# protection_keys tests
301*053f45beSAndroid Build Coastguard Worker-if [ -x ./protection_keys_32 ]
302*053f45beSAndroid Build Coastguard Worker-then
303*053f45beSAndroid Build Coastguard Worker-	run_test ./protection_keys_32
304*053f45beSAndroid Build Coastguard Worker-fi
305*053f45beSAndroid Build Coastguard Worker-
306*053f45beSAndroid Build Coastguard Worker-if [ -x ./protection_keys_64 ]
307*053f45beSAndroid Build Coastguard Worker-then
308*053f45beSAndroid Build Coastguard Worker-	run_test ./protection_keys_64
309*053f45beSAndroid Build Coastguard Worker-fi
310*053f45beSAndroid Build Coastguard Worker-
311*053f45beSAndroid Build Coastguard Worker-run_test ./soft-dirty
312*053f45beSAndroid Build Coastguard Worker+#run_test ./test_hmm.sh smoke
313*053f45beSAndroid Build Coastguard Worker+
314*053f45beSAndroid Build Coastguard Worker+## MADV_POPULATE_READ and MADV_POPULATE_WRITE tests
315*053f45beSAndroid Build Coastguard Worker+#run_test ./madv_populate
316*053f45beSAndroid Build Coastguard Worker+#
317*053f45beSAndroid Build Coastguard Worker+#run_test ./memfd_secret
318*053f45beSAndroid Build Coastguard Worker+
319*053f45beSAndroid Build Coastguard Worker+## KSM MADV_MERGEABLE test with 10 identical pages
320*053f45beSAndroid Build Coastguard Worker+#run_test ./ksm_tests -M -p 10
321*053f45beSAndroid Build Coastguard Worker+## KSM unmerge test
322*053f45beSAndroid Build Coastguard Worker+#run_test ./ksm_tests -U
323*053f45beSAndroid Build Coastguard Worker+## KSM test with 10 zero pages and use_zero_pages = 0
324*053f45beSAndroid Build Coastguard Worker+#run_test ./ksm_tests -Z -p 10 -z 0
325*053f45beSAndroid Build Coastguard Worker+## KSM test with 10 zero pages and use_zero_pages = 1
326*053f45beSAndroid Build Coastguard Worker+#run_test ./ksm_tests -Z -p 10 -z 1
327*053f45beSAndroid Build Coastguard Worker+## KSM test with 2 NUMA nodes and merge_across_nodes = 1
328*053f45beSAndroid Build Coastguard Worker+#run_test ./ksm_tests -N -m 1
329*053f45beSAndroid Build Coastguard Worker+## KSM test with 2 NUMA nodes and merge_across_nodes = 0
330*053f45beSAndroid Build Coastguard Worker+#run_test ./ksm_tests -N -m 0
331*053f45beSAndroid Build Coastguard Worker+
332*053f45beSAndroid Build Coastguard Worker+## protection_keys tests
333*053f45beSAndroid Build Coastguard Worker+#if [ -x ./protection_keys_32 ]
334*053f45beSAndroid Build Coastguard Worker+#then
335*053f45beSAndroid Build Coastguard Worker+#	run_test ./protection_keys_32
336*053f45beSAndroid Build Coastguard Worker+#fi
337*053f45beSAndroid Build Coastguard Worker+#
338*053f45beSAndroid Build Coastguard Worker+#if [ -x ./protection_keys_64 ]
339*053f45beSAndroid Build Coastguard Worker+#then
340*053f45beSAndroid Build Coastguard Worker+#	run_test ./protection_keys_64
341*053f45beSAndroid Build Coastguard Worker+#fi
342*053f45beSAndroid Build Coastguard Worker+#
343*053f45beSAndroid Build Coastguard Worker+#run_test ./soft-dirty
344*053f45beSAndroid Build Coastguard Worker
345*053f45beSAndroid Build Coastguard Worker exit $exitcode
346*053f45beSAndroid Build Coastguard Worker--
347*053f45beSAndroid Build Coastguard Worker2.42.0.609.gbb76f46606-goog
348*053f45beSAndroid Build Coastguard Worker
349