Hi Anish,

On 18/02/26 22:09, AnishMulay wrote:
Currently, the migration test asserts that numa_available() returns 0.
On systems where NUMA is not available (returning -1), such as certain
ARM64 configurations or single-node systems, this assertion fails and
crashes the test.

Update the test to check the return value of numa_available(). If it
is less than 0, skip the test gracefully instead of failing.

This aligns the behavior with other MM selftests (like rmap) that
skip when NUMA support is missing.

Signed-off-by: AnishMulay <[email protected]>
I tested it on my system and its skipping the test if NUMA not available.

TAP version 13
1..6
# Starting 6 tests from 1 test cases.
#  RUN           migration.private_anon ...
#      SKIP      NUMA not available
#            OK  migration.private_anon
ok 1 migration.private_anon # SKIP NUMA not available
#  RUN           migration.shared_anon ...
#      SKIP      NUMA not available
#            OK  migration.shared_anon
ok 2 migration.shared_anon # SKIP NUMA not available
#  RUN           migration.private_anon_thp ...
#      SKIP      NUMA not available
#            OK  migration.private_anon_thp
ok 3 migration.private_anon_thp # SKIP NUMA not available
#  RUN           migration.shared_anon_thp ...
#      SKIP      NUMA not available
#            OK  migration.shared_anon_thp
ok 4 migration.shared_anon_thp # SKIP NUMA not available
#  RUN           migration.private_anon_htlb ...
#      SKIP      NUMA not available
#            OK  migration.private_anon_htlb
ok 5 migration.private_anon_htlb # SKIP NUMA not available
#  RUN           migration.shared_anon_htlb ...
#      SKIP      NUMA not available
#            OK  migration.shared_anon_htlb
ok 6 migration.shared_anon_htlb # SKIP NUMA not available
# PASSED: 6 / 6 tests passed.
# 6 skipped test(s) detected. Consider enabling relevant config options to improve c
overage.
# Totals: pass:0 fail:0 xfail:0 xpass:0 skip:6 error:0

Tested-by: Sayali Patil <[email protected]>

Thanks,
Sayali

---
  tools/testing/selftests/mm/migration.c | 3 ++-
  1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/tools/testing/selftests/mm/migration.c 
b/tools/testing/selftests/mm/migration.c
index ee24b88c2b248..60e78bbfc0e3e 100644
--- a/tools/testing/selftests/mm/migration.c
+++ b/tools/testing/selftests/mm/migration.c
@@ -36,7 +36,8 @@ FIXTURE_SETUP(migration)
  {
        int n;
- ASSERT_EQ(numa_available(), 0);
+       if (numa_available() < 0)
+               SKIP(return, "NUMA not available");
        self->nthreads = numa_num_task_cpus() - 1;
        self->n1 = -1;
        self->n2 = -1;

Reply via email to