Skip to content

Commit bb4c41e

Browse files
author
Nicolas Pitre
committed
tests: lib: lockfree: Exclude FVP SMP platforms for now
The lockfree test times out on FVP SMP configurations, hanging during lockfree synchronization operations. This affects all C library variants (minimal, picolibc, and - before being disabled - newlib). The lockfree library uses Dmitry Vyukov's MPSC queue and SPSC ringbuffer implementations with SEQ_CST atomics. While the implementations are theoretically sound, they experience synchronization issues on the FVP simulator in SMP mode that cause the test to hang. This is distinct from the newlib spinlock validation failures and affects the core lockfree algorithms themselves. Adding redundant barriers i.e. `barrier_dmem_fence_full()` before `atomic_get()` (DMB Before LDAR) apparently makes the test pass but this masks symptoms without fixing the root cause: - `barrier_dmem_fence_full()` compiles to `DMB SY` on ARM64 - LDAR already provides acquire semantics - `DMB SY; LDAR` provides no additional ordering guarantees over `LDAR` alone Signed-off-by: Nicolas Pitre <[email protected]>
1 parent c25a4ce commit bb4c41e

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed

tests/lib/lockfree/testcase.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,10 @@ tests:
22
libraries.lockfree:
33
platform_exclude:
44
- m2gl025_miv # renode times out
5+
# FVP SMP: test timeout in lockfree synchronization
6+
- fvp_base_revc_2xaem/v8a/smp
7+
- fvp_base_revc_2xaem/v8a/smp/ns
8+
- fvp_base_revc_2xaem/v9a/smp
9+
- fvp_base_revc_2xaem/v9a/smp/ns
510
tags:
611
- lockfree

0 commit comments

Comments
 (0)