On 2025-12-07 07:22, Chunyu Hu wrote:
Patch series "Fix va_high_addr_switch.sh test failure - again", v1.

There are two issues exist for the  va_high_addr_switch test. One issue is
the test return value is ignored in va_high_addr_switch.sh. The second is
the va_high_addr_switch requires 6 hugepages but it requires 5.

Besides that, the nr_hugepages setup in run_vmtests.sh for arm64 can be
done in va_high_addr_switch.sh too.

This patch: (of 3)

The return value should be return value of va_high_addr_switch, otherwise
a test failure would be silently ignored.

Fixes: d9d957bd7b61 ("selftests/mm: alloc hugepages in va_high_addr_switch 
test")
CC: Luiz Capitulino <[email protected]>
Signed-off-by: Chunyu Hu <[email protected]>

This fix is good, but there are two additional issues that need fixing
(maybe in separate patches):

1. In main() we do:

"""
        ret = run_test(testcases, sz_testcases);
        if (argc == 2 && !strcmp(argv[1], "--run-hugetlb"))
                ret = run_test(hugetlb_testcases, sz_hugetlb_testcases);
"""

The second run_test() overwrites the return code of the first one, so if
the first fails and the second one succeeds, the test will report
success.

2. The following comment in va_high_addr_switch.sh is wrong in two
counts: there's an eligibility check for powerpc64 and the test doesn't
reject other architectures as it runs on arm64 as well.

"""
    # The test supports x86_64 and powerpc64. We currently have no useful
    # eligibility check for powerpc64, and the test itself will reject other
    # architectures.
"""

For this fix:

Reviewed-by: Luiz Capitulino <[email protected]>

---
  tools/testing/selftests/mm/va_high_addr_switch.sh | 2 ++
  1 file changed, 2 insertions(+)

diff --git a/tools/testing/selftests/mm/va_high_addr_switch.sh 
b/tools/testing/selftests/mm/va_high_addr_switch.sh
index a7d4b02b21dd..f89fe078a8e6 100755
--- a/tools/testing/selftests/mm/va_high_addr_switch.sh
+++ b/tools/testing/selftests/mm/va_high_addr_switch.sh
@@ -114,4 +114,6 @@ save_nr_hugepages
  # 4 keep_mapped pages, and one for tmp usage
  setup_nr_hugepages 5
  ./va_high_addr_switch --run-hugetlb
+retcode=$?
  restore_nr_hugepages
+exit $retcode










Reply via email to