On 03/04/2024 21:03, peterx@xxxxxxxxxx wrote: > From: Peter Xu <peterx@xxxxxxxxxx> > > 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@xxxxxxx > > Cc: Muhammad Usama Anjum <usama.anjum@xxxxxxxxxxxxx> > Cc: David Hildenbrand <david@xxxxxxxxxx> > Cc: Muchun Song <muchun.song@xxxxxxxxx> > Reported-by: Ryan Roberts <ryan.roberts@xxxxxxx> > Signed-off-by: Peter Xu <peterx@xxxxxxxxxx> All passing again for me: Tested-by: Ryan Roberts <ryan.roberts@xxxxxxx> > --- > 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