tools/testing/selftests/mm/run_vmtests.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
From: Peter Xu <peterx@redhat.com>
Fix up a breakage on uffd hugetlb test due to removal of a temp variable,
as reported by Ryan [1].
Instead of using the previous calculation, use the largest we can
have (which is put in freepgs) and cut it into half for userfault tests.
[1] https://lore.kernel.org/r/1c20b717-c5b5-4bdf-8fcd-d46db135b7fa@arm.com
Cc: Muhammad Usama Anjum <usama.anjum@collabora.com>
Cc: David Hildenbrand <david@redhat.com>
Cc: Muchun Song <muchun.song@linux.dev>
Reported-by: Ryan Roberts <ryan.roberts@arm.com>
Signed-off-by: Peter Xu <peterx@redhat.com>
---
tools/testing/selftests/mm/run_vmtests.sh | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/tools/testing/selftests/mm/run_vmtests.sh b/tools/testing/selftests/mm/run_vmtests.sh
index b1b78e45d613..223c2304f885 100755
--- a/tools/testing/selftests/mm/run_vmtests.sh
+++ b/tools/testing/selftests/mm/run_vmtests.sh
@@ -298,7 +298,8 @@ CATEGORY="userfaultfd" run_test ./uffd-unit-tests
uffd_stress_bin=./uffd-stress
CATEGORY="userfaultfd" run_test ${uffd_stress_bin} anon 20 16
# Hugetlb tests require source and destination huge pages. Pass in half
-# the size ($half_ufd_size_MB), which is used for *each*.
+# the size of the free pages we have, which is used for *each*.
+half_ufd_size_MB=$((freepgs / 2))
CATEGORY="userfaultfd" run_test ${uffd_stress_bin} hugetlb "$half_ufd_size_MB" 32
CATEGORY="userfaultfd" run_test ${uffd_stress_bin} hugetlb-private "$half_ufd_size_MB" 32
CATEGORY="userfaultfd" run_test ${uffd_stress_bin} shmem 20 16
--
2.44.0
On 03/04/2024 21:03, peterx@redhat.com wrote:
> From: Peter Xu <peterx@redhat.com>
>
> Fix up a breakage on uffd hugetlb test due to removal of a temp variable,
> as reported by Ryan [1].
>
> Instead of using the previous calculation, use the largest we can
> have (which is put in freepgs) and cut it into half for userfault tests.
>
> [1] https://lore.kernel.org/r/1c20b717-c5b5-4bdf-8fcd-d46db135b7fa@arm.com
>
> Cc: Muhammad Usama Anjum <usama.anjum@collabora.com>
> Cc: David Hildenbrand <david@redhat.com>
> Cc: Muchun Song <muchun.song@linux.dev>
> Reported-by: Ryan Roberts <ryan.roberts@arm.com>
> Signed-off-by: Peter Xu <peterx@redhat.com>
All passing again for me:
Tested-by: Ryan Roberts <ryan.roberts@arm.com>
> ---
> tools/testing/selftests/mm/run_vmtests.sh | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/tools/testing/selftests/mm/run_vmtests.sh b/tools/testing/selftests/mm/run_vmtests.sh
> index b1b78e45d613..223c2304f885 100755
> --- a/tools/testing/selftests/mm/run_vmtests.sh
> +++ b/tools/testing/selftests/mm/run_vmtests.sh
> @@ -298,7 +298,8 @@ CATEGORY="userfaultfd" run_test ./uffd-unit-tests
> uffd_stress_bin=./uffd-stress
> CATEGORY="userfaultfd" run_test ${uffd_stress_bin} anon 20 16
> # Hugetlb tests require source and destination huge pages. Pass in half
> -# the size ($half_ufd_size_MB), which is used for *each*.
> +# the size of the free pages we have, which is used for *each*.
> +half_ufd_size_MB=$((freepgs / 2))
> CATEGORY="userfaultfd" run_test ${uffd_stress_bin} hugetlb "$half_ufd_size_MB" 32
> CATEGORY="userfaultfd" run_test ${uffd_stress_bin} hugetlb-private "$half_ufd_size_MB" 32
> CATEGORY="userfaultfd" run_test ${uffd_stress_bin} shmem 20 16
© 2016 - 2026 Red Hat, Inc.