Hi Mike!
On 4/29/26 2:12 AM, Mike Rapoport wrote:
> 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);
Since hugetlb_setup below already calls hugepage_save_settings()
internally, perhaps we can change this to hugepage_save_settings(true,
false) or simply keep thp_save_settings()? Otherwise we're saving the
HugeTLB state twice here and it seems redundant.
> +
> 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() +