Hi Mike!
On 4/29/26 2:12 AM, Mike Rapoport wrote:
> From: "Mike Rapoport (Microsoft)" <[email protected]>
>
> uffd-wp-remap 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/uffd-wp-mremap.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/tools/testing/selftests/mm/uffd-wp-mremap.c
> b/tools/testing/selftests/mm/uffd-wp-mremap.c
> index 9d67b11c2f28..f63fe02f404f 100644
> --- a/tools/testing/selftests/mm/uffd-wp-mremap.c
> +++ b/tools/testing/selftests/mm/uffd-wp-mremap.c
> @@ -336,14 +336,14 @@ int main(int argc, char **argv)
> struct thp_settings settings;
> int i, j, plan = 0;
>
> + 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();
> nr_thpsizes = detect_thp_sizes(thpsizes, ARRAY_SIZE(thpsizes));
> - nr_hugetlbsizes = detect_hugetlb_page_sizes(hugetlbsizes,
> - ARRAY_SIZE(hugetlbsizes));
> + nr_hugetlbsizes = hugetlb_setup(1, hugetlbsizes,
> ARRAY_SIZE(hugetlbsizes));
>
> /* If THP is supported, save THP settings and initially disable THP. */
> if (nr_thpsizes) {
> - thp_save_settings();
> thp_read_settings(&settings);
> for (i = 0; i < NR_ORDERS; i++) {
> settings.hugepages[i].enabled = THP_NEVER;