On 4/29/26 2:12 AM, Mike Rapoport wrote: > 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]> I have run the test before and after applying the patch. Before the patch, the test skipped if there was not exactly 1 free hugepage available. After the patch, it correctly allocates one hugepage and the test passes successfully, restoring the original hugepage settings on exit. Tested-by: Sarthak Sharma <[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--) {

