linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v1 1/3] selftests/mm: Fix half_ufd_size_MB calculation
@ 2025-03-18 17:43 Ryan Roberts
  2025-03-18 17:43 ` [PATCH v1 2/3] selftests/mm: uffd-unit-tests support for hugepages > 2M Ryan Roberts
                   ` (3 more replies)
  0 siblings, 4 replies; 10+ messages in thread
From: Ryan Roberts @ 2025-03-18 17:43 UTC (permalink / raw)
  To: Andrew Morton, Shuah Khan, Peter Xu
  Cc: Ryan Roberts, linux-mm, linux-kselftest

$half_ufd_size_MB is supposed to be half of the available hugetlb memory
expressed in MB. But previously it was calculated in pages since
$freepgs is the number of free pages.

When huge pages are 2M it doesn't make a whole lot of difference; the
number of pages that get used is just halved. But on arm64 with 16K or
64K base pages, the PMD size (and default hugetlb size) is 32M and 512M
respectively. So in this case we end up passing a number of MB that is
smaller than a single hugetlb page and the test raises an error.

Fixes: 2e47a445d7b3 ("selftests/mm: run_vmtests.sh: fix hugetlb mem size calculation")
Signed-off-by: Ryan Roberts <ryan.roberts@arm.com>
---
 tools/testing/selftests/mm/run_vmtests.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/testing/selftests/mm/run_vmtests.sh b/tools/testing/selftests/mm/run_vmtests.sh
index da7e26668103..14fa9d40d574 100755
--- a/tools/testing/selftests/mm/run_vmtests.sh
+++ b/tools/testing/selftests/mm/run_vmtests.sh
@@ -304,7 +304,7 @@ 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 of the free pages we have, which is used for *each*.
-half_ufd_size_MB=$((freepgs / 2))
+half_ufd_size_MB=$(((freepgs * hpgsize_KB / 2) / 1024))
 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.43.0



^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2025-03-18 22:05 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-03-18 17:43 [PATCH v1 1/3] selftests/mm: Fix half_ufd_size_MB calculation Ryan Roberts
2025-03-18 17:43 ` [PATCH v1 2/3] selftests/mm: uffd-unit-tests support for hugepages > 2M Ryan Roberts
2025-03-18 19:54   ` Peter Xu
2025-03-18 21:52   ` Rafael Aquini
2025-03-18 17:43 ` [PATCH v1 3/3] selftests/mm: Speed up split_huge_page_test Ryan Roberts
2025-03-18 19:54   ` Peter Xu
2025-03-18 21:53   ` Rafael Aquini
2025-03-18 19:54 ` [PATCH v1 1/3] selftests/mm: Fix half_ufd_size_MB calculation Peter Xu
2025-03-18 22:05   ` Ryan Roberts
2025-03-18 21:49 ` Rafael Aquini

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox