patch 'test: force IOVA mode on PPC64 without huge pages' has been queued to stable release 22.11.6

luca.boccassi at gmail.com luca.boccassi at gmail.com
Tue Jun 25 01:57:47 CEST 2024


Hi,

FYI, your patch has been queued to stable release 22.11.6

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 06/27/24. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Queued patches are on a temporary branch at:
https://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/9dc3826a4a05b41de3325af68b61cb00599f4e90

Thanks.

Luca Boccassi

---
>From 9dc3826a4a05b41de3325af68b61cb00599f4e90 Mon Sep 17 00:00:00 2001
From: Christian Ehrhardt <christian.ehrhardt at canonical.com>
Date: Tue, 28 Nov 2023 15:40:45 +0100
Subject: [PATCH] test: force IOVA mode on PPC64 without huge pages

[ upstream commit 6b07762e949036389030cf5a1a9bb8a1e4d6ee2d ]

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 themselves.
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>
Acked-by: Luca Boccassi <bluca at debian.org>
---
 app/test/meson.build | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/app/test/meson.build b/app/test/meson.build
index 4e39c9e7cf..eee02cd8ff 100644
--- a/app/test/meson.build
+++ b/app/test/meson.build
@@ -474,15 +474,21 @@ dpdk_test = executable('dpdk-test',
              driver_install_path),
         install: true)
 
-has_hugepage = run_command(py3, 'has_hugepage.py', check: true).stdout().strip() != '0'
-message('hugepage availability: @0@'.format(has_hugepage))
-
 # some perf tests (eg: memcpy perf autotest)take very long
 # to complete, so timeout to 10 minutes
 timeout_seconds = 600
 timeout_seconds_fast = 10
 
 test_no_huge_args = ['--no-huge', '-m', '2048']
+has_hugepage = run_command(py3, 'has_hugepage.py', check: true).stdout().strip() != '0'
+message('hugepage availability: @0@'.format(has_hugepage))
+if not has_hugepage
+    if arch_subdir == 'ppc'
+        # 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
+        test_no_huge_args += '--iova-mode=va'
+    endif
+endif
 
 foreach arg : fast_tests
     test_args = []
-- 
2.39.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2024-06-25 00:22:13.345210209 +0100
+++ 0001-test-force-IOVA-mode-on-PPC64-without-huge-pages.patch	2024-06-25 00:22:13.053182958 +0100
@@ -1 +1 @@
-From 6b07762e949036389030cf5a1a9bb8a1e4d6ee2d Mon Sep 17 00:00:00 2001
+From 9dc3826a4a05b41de3325af68b61cb00599f4e90 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 6b07762e949036389030cf5a1a9bb8a1e4d6ee2d ]
+
@@ -18,2 +20,2 @@
- app/test/suites/meson.build | 7 +++++++
- 1 file changed, 7 insertions(+)
+ app/test/meson.build | 12 +++++++++---
+ 1 file changed, 9 insertions(+), 3 deletions(-)
@@ -21,5 +23,16 @@
-diff --git a/app/test/suites/meson.build b/app/test/suites/meson.build
-index 478f245a54..191702cf76 100644
---- a/app/test/suites/meson.build
-+++ b/app/test/suites/meson.build
-@@ -9,6 +9,13 @@ timeout_seconds_fast = 10
+diff --git a/app/test/meson.build b/app/test/meson.build
+index 4e39c9e7cf..eee02cd8ff 100644
+--- a/app/test/meson.build
++++ b/app/test/meson.build
+@@ -474,15 +474,21 @@ dpdk_test = executable('dpdk-test',
+              driver_install_path),
+         install: true)
+ 
+-has_hugepage = run_command(py3, 'has_hugepage.py', check: true).stdout().strip() != '0'
+-message('hugepage availability: @0@'.format(has_hugepage))
+-
+ # some perf tests (eg: memcpy perf autotest)take very long
+ # to complete, so timeout to 10 minutes
+ timeout_seconds = 600
+ timeout_seconds_fast = 10
+ 
@@ -27,2 +40,2 @@
- has_hugepage = run_command(has_hugepages_cmd, check: true).stdout().strip() != '0'
- message('hugepage availability: @0@'.format(has_hugepage))
++has_hugepage = run_command(py3, 'has_hugepage.py', check: true).stdout().strip() != '0'
++message('hugepage availability: @0@'.format(has_hugepage))
@@ -37,2 +50,2 @@
- # process source files to determine the different unit test suites
- # - fast_tests
+ foreach arg : fast_tests
+     test_args = []


More information about the stable mailing list