From: "Mike Rapoport (Microsoft)" <[email protected]>

hugetlb_fault_after_madv test skips testing if there are no free huge
pages prepared by a wrapper script.

Add setup of HugeTLB pages to the test and make sure that the original
settings are restored on the test exit.

Signed-off-by: Mike Rapoport (Microsoft) <[email protected]>
---
 tools/testing/selftests/mm/hugetlb_fault_after_madv.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/tools/testing/selftests/mm/hugetlb_fault_after_madv.c 
b/tools/testing/selftests/mm/hugetlb_fault_after_madv.c
index c718dd065d53..481863cc5fda 100644
--- a/tools/testing/selftests/mm/hugetlb_fault_after_madv.c
+++ b/tools/testing/selftests/mm/hugetlb_fault_after_madv.c
@@ -54,7 +54,6 @@ void *madv(void *unused)
 
 int main(void)
 {
-       unsigned long free_hugepages;
        pthread_t thread1, thread2;
        /*
         * On kernel 6.4, we are able to reproduce the problem with ~1000
@@ -78,10 +77,9 @@ int main(void)
        ksft_print_msg("[INFO] detected default hugetlb page size: %zu KiB\n",
                       huge_page_size / 1024);
 
-       free_hugepages = hugetlb_free_default_pages();
-       if (free_hugepages != 1) {
+       if (!hugetlb_setup_default(1)) {
                ksft_exit_skip("This test needs one and only one page to 
execute. Got %lu\n",
-                              free_hugepages);
+                              hugetlb_free_default_pages());
        }
 
        while (max--) {
-- 
2.53.0


Reply via email to