On Thu, 22 Jan 2026 at 01:54, Stephen Hemminger
<[email protected]> wrote:
>
> This series addresses several categories of test infrastructure issues:
>
> 1. Spinloop synchronization fixes (patch 1)
>
>    Tests using tight spinloops for thread synchronization cause sporadic
>    failures on high core count AMD Zen systems. The loops starve SMT
>    sibling threads and create race conditions. Adding rte_pause() to
>    all synchronization spinloops fixes these issues.
>
> 2. Test scaling for high core count systems (patches 2-5)
>
>    Several tests use fixed iteration counts that cause timeouts on
>    systems with many cores due to increased lock contention. A new
>    helper function test_scale_iterations() scales iterations inversely
>    with core count to maintain roughly constant test duration.
>
>    Affected tests:
>    - atomic_autotest (Bugzilla #952)
>    - mcslock_autotest
>    - stack_autotest
>    - timer_secondary_autotest
>
> 3. BPF test fixes (patches 6-8, 14)
>
>    - Fix missing error handling in ELF load tests
>    - Fix clang 20+ compatibility by restricting to BPF v2 instruction
>      set (Bugzilla #1844)
>    - Skip ELF test gracefully if null PMD is disabled
>    - Fix incorrect size parameter in Rx/Tx load tests
>
> 4. Parallel test execution fixes (patches 9-10)
>
>    Multiple tests colliding on the default "rte" file-prefix causes EAL
>    initialization failures when running tests in parallel. Restore unique
>    file-prefix for all fast-tests on Linux, including a separate prefix
>    for trace_autotest_with_traces.
>
> 5. Test skip conditions (patches 11-13)
>
>    Tests that depend on optional drivers (null PMD, eventdev) should skip
>    gracefully when those drivers are disabled via -Ddisable_drivers=
>    rather than failing.
>
> v4 - add additional scaling for failures reported on 96 core system
>    - gracefully handle case where null PMD disabled in build
>
> Stephen Hemminger (14):
>   test: add pause to synchronization spinloops
>   test: scale atomic test based on core count
>   test/mcslock: scale test based on number of cores
>   test/stack: scale test based on number of cores
>   test/timer: scale test based on number of cores
>   test/bpf: fix error handling in ELF load tests
>   test/bpf: fix unsupported BPF instructions in ELF load test
>   test/bpf: skip ELF test if null PMD disabled
>   test: add file-prefix for all fast-tests on Linux
>   test: fix trace_autotest_with_traces parallel execution
>   test/eventdev: skip test if eventdev driver disabled
>   test/pcapng: skip test if null driver missing
>   test/vdev: skip test if no null PMD
>   test/bpf: pass correct size for Rx/Tx load tests
>
>  app/test/bpf/meson.build             |  3 +-
>  app/test/meson.build                 |  4 +-
>  app/test/suites/meson.build          | 19 +++++---
>  app/test/test.h                      | 19 ++++++++
>  app/test/test_atomic.c               | 66 ++++++++++++++++------------
>  app/test/test_bpf.c                  | 13 ++++--
>  app/test/test_event_eth_tx_adapter.c | 11 +++--
>  app/test/test_mcslock.c              | 10 +++--
>  app/test/test_stack.c                |  8 ++--
>  app/test/test_threads.c              | 17 +++----
>  app/test/test_timer_secondary.c      | 14 +++---
>  11 files changed, 121 insertions(+), 63 deletions(-)

I think there is some overlap with some other merged patches (like a
conflict on the meson side).
Please check and rebase this series.

Thanks.


-- 
David Marchand

Reply via email to