On Tue, Feb 18, 2025 at 02:22:51PM -0500, Rafael Aquini wrote: > From: Rafael Aquini <raquini@xxxxxxxxxx> > > We noticed that uffd-stress test was always failing to run when invoked > for the hugetlb profiles on x86_64 systems with a processor count of 64 > or bigger: > ... > # ------------------------------------ > # running ./uffd-stress hugetlb 128 32 > # ------------------------------------ > # ERROR: invalid MiB (errno=9, @uffd-stress.c:459) > ... > # [FAIL] > not ok 3 uffd-stress hugetlb 128 32 # exit=1 > ... > > The problem boils down to how run_vmtests.sh (mis)calculates the size > of the region it feeds to uffd-stress. The latter expects to see an > amount of MiB while the former is just giving out the number of free > hugepages halved down. This measurement discrepancy ends up violating > uffd-stress' assertion on number of hugetlb pages allocated per CPU, > causing it to bail out with the error above. > > This commit fixes that issue by adjusting run_vmtests.sh's half_ufd_size_MB > calculation so it properly renders the region size in MiB, as expected, > while maintaining all of its original constraints in place. > > Fixes: 2e47a445d7b3 ("selftests/mm: run_vmtests.sh: fix hugetlb mem size calculation") > Signed-off-by: Rafael Aquini <raquini@xxxxxxxxxx> Oops.. thanks! Reviewed-by: Peter Xu <peterx@xxxxxxxxxx> -- Peter Xu