patch 'test: add file-prefix for all fast-tests on Linux' has been queued to stable release 24.11.5
luca.boccassi at gmail.com
luca.boccassi at gmail.com
Thu Mar 19 23:02:50 CET 2026
Hi,
FYI, your patch has been queued to stable release 24.11.5
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 03/21/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/bluca/dpdk-stable
This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/5492da41b97eb40aebf6a4f237a235a8343557ca
Thanks.
Luca Boccassi
---
>From 5492da41b97eb40aebf6a4f237a235a8343557ca 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 191702cf76..4e50a504ba 100644
--- a/app/test/suites/meson.build
+++ b/app/test/suites/meson.build
@@ -60,12 +60,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.47.3
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2026-03-19 22:00:49.861683386 +0000
+++ 0058-test-add-file-prefix-for-all-fast-tests-on-Linux.patch 2026-03-19 22:00:47.818359365 +0000
@@ -1 +1 @@
-From 5ef1668383942b1c472a514404d95250baba24af Mon Sep 17 00:00:00 2001
+From 5492da41b97eb40aebf6a4f237a235a8343557ca 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 191702cf76..4e50a504ba 100644
@@ -44 +45 @@
-@@ -85,11 +85,15 @@ foreach suite:test_suites
+@@ -60,12 +60,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