[PATCH] test: set iova=va mode on ppc64 with --no-huge

christian.ehrhardt at canonical.com christian.ehrhardt at canonical.com
Tue Nov 28 15:40:45 CET 2023


From: Christian Ehrhardt <christian.ehrhardt at canonical.com>

On ppc64, without huge pages, pa would be the default but fails like:
  EAL: Cannot use IOVA as 'PA' since physical addresses are not available

On a normal system setup we'd expect an admin to set up huge pages
and for the unlikely case that they do not do that set iova=va
themselve. But the testing infrastructure does not have this conscious
admin that will do that, so fix test execution that by adjusting the
tests arguments accordingly if the conditions are met.

Signed-off-by: Christian Ehrhardt <christian.ehrhardt at canonical.com>
---
 app/test/suites/meson.build | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/app/test/suites/meson.build b/app/test/suites/meson.build
index 478f245a54..8efbb165bf 100644
--- a/app/test/suites/meson.build
+++ b/app/test/suites/meson.build
@@ -10,6 +10,14 @@ test_no_huge_args = ['--no-huge', '-m', '2048']
 has_hugepage = run_command(has_hugepages_cmd, check: true).stdout().strip() != '0'
 message('hugepage availability: @0@'.format(has_hugepage))
 
+# On ppc64, without huge pages, pa would be the default but fails like:
+# EAL: Cannot use IOVA as 'PA' since physical addresses are not available
+if not has_hugepage
+    if arch_subdir == 'ppc'
+        test_no_huge_args += '--iova-mode=va'
+    endif
+endif
+
 # process source files to determine the different unit test suites
 # - fast_tests
 # - perf_tests
-- 
2.34.1



More information about the dev mailing list