Re: [PATCH] selftests/mm: Dont fail testsuite due to a lack of hugepages

From: Muhammad Usama Anjum
Date: Tue Mar 05 2024 - 00:49:20 EST


On 3/5/24 12:08 AM, Nico Pache wrote:
> On Fri, Mar 1, 2024 at 2:35 AM Muhammad Usama Anjum
> <usama.anjum@xxxxxxxxxxxxx> 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@xxxxxxxxxx>
>>> ---
>>> 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
>>
>
>

--
BR,
Muhammad Usama Anjum