Message ID | 20240301073300.287508-1-npache@redhat.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | selftests/mm: Dont fail testsuite due to a lack of hugepages | expand |
On 3/1/24 12:33 PM, Nico Pache wrote: > On systems that have large core counts and large page sizes, but limited > memory, the userfaultfd test hugepage requirement is too large. > > Exiting early due to missing one test's requirements is a rather aggressive > strategy, and prevents a lot of other tests from running. Remove the > early exit to prevent this. Why don't we only skip that particular test which requires huge number of pages instead? Thus the behavior of this script would remain same. > > Fixes: ee00479d6702 ("selftests: vm: Try harder to allocate huge pages") > Signed-off-by: Nico Pache <npache@redhat.com> > --- > tools/testing/selftests/mm/run_vmtests.sh | 1 - > 1 file changed, 1 deletion(-) > > diff --git a/tools/testing/selftests/mm/run_vmtests.sh b/tools/testing/selftests/mm/run_vmtests.sh > index 246d53a5d7f28..727ea22ba408e 100755 > --- a/tools/testing/selftests/mm/run_vmtests.sh > +++ b/tools/testing/selftests/mm/run_vmtests.sh > @@ -173,7 +173,6 @@ if [ -n "$freepgs" ] && [ -n "$hpgsize_KB" ]; then > if [ "$freepgs" -lt "$needpgs" ]; then > printf "Not enough huge pages available (%d < %d)\n" \ > "$freepgs" "$needpgs" > - exit 1 > fi > else > echo "no hugetlbfs support in kernel?"
On Fri, Mar 1, 2024 at 2:35 AM Muhammad Usama Anjum <usama.anjum@collabora.com> wrote: > > On 3/1/24 12:33 PM, Nico Pache wrote: > > On systems that have large core counts and large page sizes, but limited > > memory, the userfaultfd test hugepage requirement is too large. > > > > Exiting early due to missing one test's requirements is a rather aggressive > > strategy, and prevents a lot of other tests from running. Remove the > > early exit to prevent this. > Why don't we only skip that particular test which requires huge number of > pages instead? Thus the behavior of this script would remain same. Hi Muhammad, That would not solve the problem-- The issue is not with the userfaultfd test, but rather this part of the script that tries to allocate the hugepages. If it doesnt succeed at allocating the right amount of hugepages it will exit the run_vmtests.sh script, thus stopping all other tests. With the `exit` removed, the test suite is able to run, and upon running the userfaultfd test will result in a failed test case. If you'd like I can follow up with a patch to skip the test cases (in the actually test) rather than failing. Cheers, -- Nico > > > > > Fixes: ee00479d6702 ("selftests: vm: Try harder to allocate huge pages") > > Signed-off-by: Nico Pache <npache@redhat.com> > > --- > > tools/testing/selftests/mm/run_vmtests.sh | 1 - > > 1 file changed, 1 deletion(-) > > > > diff --git a/tools/testing/selftests/mm/run_vmtests.sh b/tools/testing/selftests/mm/run_vmtests.sh > > index 246d53a5d7f28..727ea22ba408e 100755 > > --- a/tools/testing/selftests/mm/run_vmtests.sh > > +++ b/tools/testing/selftests/mm/run_vmtests.sh > > @@ -173,7 +173,6 @@ if [ -n "$freepgs" ] && [ -n "$hpgsize_KB" ]; then > > if [ "$freepgs" -lt "$needpgs" ]; then > > printf "Not enough huge pages available (%d < %d)\n" \ > > "$freepgs" "$needpgs" > > - exit 1 > > fi > > else > > echo "no hugetlbfs support in kernel?" > > -- > BR, > Muhammad Usama Anjum >
On 3/5/24 12:08 AM, Nico Pache wrote: > On Fri, Mar 1, 2024 at 2:35 AM Muhammad Usama Anjum > <usama.anjum@collabora.com> wrote: >> >> On 3/1/24 12:33 PM, Nico Pache wrote: >>> On systems that have large core counts and large page sizes, but limited >>> memory, the userfaultfd test hugepage requirement is too large. >>> >>> Exiting early due to missing one test's requirements is a rather aggressive >>> strategy, and prevents a lot of other tests from running. Remove the >>> early exit to prevent this. >> Why don't we only skip that particular test which requires huge number of >> pages instead? Thus the behavior of this script would remain same. > Hi Muhammad, > > That would not solve the problem-- The issue is not with the > userfaultfd test, but rather this part of the script that tries to > allocate the hugepages. If it doesnt succeed at allocating the right > amount of hugepages it will exit the run_vmtests.sh script, thus > stopping all other tests. With the `exit` removed, the test suite is > able to run, and upon running the userfaultfd test will result in a > failed test case. > > If you'd like I can follow up with a patch to skip the test cases (in > the actually test) rather than failing. Its just that we don't want failures if there are less number of huge pages available. CI people would mind finding failures. Tests should be updated to skip in those cases then. > > Cheers, > -- Nico >> >>> >>> Fixes: ee00479d6702 ("selftests: vm: Try harder to allocate huge pages") >>> Signed-off-by: Nico Pache <npache@redhat.com> >>> --- >>> tools/testing/selftests/mm/run_vmtests.sh | 1 - >>> 1 file changed, 1 deletion(-) >>> >>> diff --git a/tools/testing/selftests/mm/run_vmtests.sh b/tools/testing/selftests/mm/run_vmtests.sh >>> index 246d53a5d7f28..727ea22ba408e 100755 >>> --- a/tools/testing/selftests/mm/run_vmtests.sh >>> +++ b/tools/testing/selftests/mm/run_vmtests.sh >>> @@ -173,7 +173,6 @@ if [ -n "$freepgs" ] && [ -n "$hpgsize_KB" ]; then >>> if [ "$freepgs" -lt "$needpgs" ]; then >>> printf "Not enough huge pages available (%d < %d)\n" \ >>> "$freepgs" "$needpgs" >>> - exit 1 >>> fi >>> else >>> echo "no hugetlbfs support in kernel?" >> >> -- >> BR, >> Muhammad Usama Anjum >> > >
diff --git a/tools/testing/selftests/mm/run_vmtests.sh b/tools/testing/selftests/mm/run_vmtests.sh index 246d53a5d7f28..727ea22ba408e 100755 --- a/tools/testing/selftests/mm/run_vmtests.sh +++ b/tools/testing/selftests/mm/run_vmtests.sh @@ -173,7 +173,6 @@ if [ -n "$freepgs" ] && [ -n "$hpgsize_KB" ]; then if [ "$freepgs" -lt "$needpgs" ]; then printf "Not enough huge pages available (%d < %d)\n" \ "$freepgs" "$needpgs" - exit 1 fi else echo "no hugetlbfs support in kernel?"
On systems that have large core counts and large page sizes, but limited memory, the userfaultfd test hugepage requirement is too large. Exiting early due to missing one test's requirements is a rather aggressive strategy, and prevents a lot of other tests from running. Remove the early exit to prevent this. Fixes: ee00479d6702 ("selftests: vm: Try harder to allocate huge pages") Signed-off-by: Nico Pache <npache@redhat.com> --- tools/testing/selftests/mm/run_vmtests.sh | 1 - 1 file changed, 1 deletion(-)