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

cow tests skips HugeTLB tests 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/cow.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/tools/testing/selftests/mm/cow.c b/tools/testing/selftests/mm/cow.c
index 4321f4208fe3..1df513bf362d 100644
--- a/tools/testing/selftests/mm/cow.c
+++ b/tools/testing/selftests/mm/cow.c
@@ -1881,21 +1881,21 @@ int main(int argc, char **argv)
 
        ksft_print_header();
 
+       hugepage_save_settings(true, true);
+
        pagesize = getpagesize();
        pmdsize = read_pmd_pagesize();
        if (pmdsize) {
                /* Only if THP is supported. */
                thp_read_settings(&default_settings);
                default_settings.hugepages[sz2ord(pmdsize, pagesize)].enabled = 
THP_INHERIT;
-               thp_save_settings();
                thp_push_settings(&default_settings);
 
                ksft_print_msg("[INFO] detected PMD size: %zu KiB\n",
                               pmdsize / 1024);
                nr_thpsizes = detect_thp_sizes(thpsizes, ARRAY_SIZE(thpsizes));
        }
-       nr_hugetlbsizes = detect_hugetlb_page_sizes(hugetlbsizes,
-                                                   ARRAY_SIZE(hugetlbsizes));
+       nr_hugetlbsizes = hugetlb_setup(2, hugetlbsizes, 
ARRAY_SIZE(hugetlbsizes));
        has_huge_zeropage = detect_huge_zeropage();
 
        ksft_set_plan(ARRAY_SIZE(anon_test_cases) * tests_per_anon_test_case() +
-- 
2.53.0


Reply via email to