patch 'test: add file-prefix for all fast-tests on Linux' has been queued to stable release 23.11.7

Shani Peretz shperetz at nvidia.com
Wed Apr 15 11:59:52 CEST 2026


Hi,

FYI, your patch has been queued to stable release 23.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 04/19/26. 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/shanipr/dpdk-stable

This queued commit can be viewed at:
https://github.com/shanipr/dpdk-stable/commit/3b80ce0ba5e04618b45de95217a31db0f02fc831

Thanks.

Shani

---
>From 3b80ce0ba5e04618b45de95217a31db0f02fc831 Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen at networkplumber.org>
Date: Thu, 5 Mar 2026 09:51:01 -0800
Subject: [PATCH] test: add file-prefix for all fast-tests on Linux

[ upstream commit 5ef1668383942b1c472a514404d95250baba24af ]

When running tests in parallel on systems with many cores, multiple test
processes collide on the default "rte" file-prefix, causing EAL
initialization failures:

  EAL: Cannot allocate memzone list: Device or resource busy
  EAL: Cannot init memzone

This occurs because all DPDK tests (including --no-huge tests) use
file-backed arrays for memzone tracking. These files are created at
/var/run/dpdk/<prefix>/fbarray_memzone and require exclusive locking
during initialization. When multiple tests run in parallel with the
same file-prefix, they compete for this lock.

The original implementation included --file-prefix for Linux to
prevent this collision. This was later removed during test
infrastructure refactoring.

Restore the --file-prefix argument for all fast-tests on Linux,
regardless of whether they use hugepages. Tests that exercise
file-prefix functionality (like eal_flags_file_prefix_autotest)
spawn child processes with their own hardcoded prefixes and use
get_current_prefix() to verify the parent's resources, so they work
correctly regardless of what prefix the parent process uses.

Fixes: 50823f30f0c8 ("test: build using per-file dependencies")

Signed-off-by: Stephen Hemminger <stephen at networkplumber.org>
Acked-by: Marat Khalili <marat.khalili at huawei.com>
Acked-by: Bruce Richardson <bruce.richardson at intel.com>
---
 app/test/suites/meson.build | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/app/test/suites/meson.build b/app/test/suites/meson.build
index 478f245a54..d2cecd40ea 100644
--- a/app/test/suites/meson.build
+++ b/app/test/suites/meson.build
@@ -53,12 +53,16 @@ foreach suite:test_suites
             if nohuge
                 test_args += test_no_huge_args
             elif not has_hugepage
-                continue  #skip this tests
+                continue  # skip this test
             endif
             if not asan and (get_option('b_sanitize') == 'address'
                     or get_option('b_sanitize') == 'address,undefined')
                 continue  # skip this test
             endif
+            if is_linux
+                # use unique file-prefix to allow parallel runs
+                test_args += ['--file-prefix=' + test_name.underscorify()]
+            endif
 
             if get_option('default_library') == 'shared'
                 test_args += ['-d', dpdk_drivers_build_dir]
-- 
2.43.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2026-04-14 14:44:33.698784024 +0300
+++ 0051-test-add-file-prefix-for-all-fast-tests-on-Linux.patch	2026-04-14 14:44:28.647388000 +0300
@@ -1 +1 @@
-From 5ef1668383942b1c472a514404d95250baba24af Mon Sep 17 00:00:00 2001
+From 3b80ce0ba5e04618b45de95217a31db0f02fc831 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 5ef1668383942b1c472a514404d95250baba24af ]
+
@@ -31 +32,0 @@
-Cc: stable at dpdk.org
@@ -41 +42 @@
-index 1010150eee..4c815ea097 100644
+index 478f245a54..d2cecd40ea 100644
@@ -44 +45 @@
-@@ -85,11 +85,15 @@ foreach suite:test_suites
+@@ -53,12 +53,16 @@ foreach suite:test_suites
@@ -51 +52,2 @@
-             if not asan and get_option('b_sanitize').contains('address')
+             if not asan and (get_option('b_sanitize') == 'address'
+                     or get_option('b_sanitize') == 'address,undefined')


More information about the stable mailing list