Now that run_vmtests.sh does not guarantee that the correct hugepage
count is available, add a check inside the userfaultfd hugetlb test to
verify the nr_hugepages count before continuing.

Signed-off-by: Nico Pache <[email protected]>
---
 tools/testing/selftests/mm/uffd-stress.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/tools/testing/selftests/mm/uffd-stress.c 
b/tools/testing/selftests/mm/uffd-stress.c
index 7e83829bbb335..1165446f10883 100644
--- a/tools/testing/selftests/mm/uffd-stress.c
+++ b/tools/testing/selftests/mm/uffd-stress.c
@@ -441,6 +441,12 @@ int main(int argc, char **argv)
        parse_test_type_arg(argv[1]);
        bytes = atol(argv[2]) * 1024 * 1024;
 
+       if (test_type == TEST_HUGETLB &&
+          get_free_hugepages() < bytes / page_size) {
+               printf("skip: Skipping userfaultfd... not enough hugepages\n");
+               return KSFT_SKIP;
+       }
+
        nr_cpus = sysconf(_SC_NPROCESSORS_ONLN);
 
        nr_pages_per_cpu = bytes / page_size / nr_cpus;
-- 
2.44.0


Reply via email to