[dpdk-dev] [PATCH 0/3] add lock-free stack support discovery
Stanislaw Kardach
kda at semihalf.com
Mon Apr 12 10:28:58 CEST 2021
The lock-free stack implementation (RTE_STACK_F_LF) is supported only on a
subset of platforms, namely x86_64 and arm64. Platforms supporting 128b atomics
have to opt-in to a generic or C11 implementations. All other platforms use a
stubbed implementation for push/pop operations which are basically NOPs.
However rte_stack_create() will not fail and application can proceed assuming
it has a working lock-free stack.
This means that among other things the stack_lf fast and perf tests will fail
as if implementation is wrong (which one can argue is). Therefore this patchset
tries to give user a way to check whether a lock_free is supported or not both
at compile time (build flag) and at runtime (ENOTSUP errno in rte_stack_create).
I have added cc to stable at dpdk.org because check-git-log.sh suggested it. I'm
not sure if adding a binary compatible change to API is worth stable at dpdk.org.
Cc: stable at dpdk.org
Stanislaw Kardach (3):
stack: update lock-free supported archs
stack: add compile flag for lock-free support
test: run lock-free stack tests when supported
app/test/test_stack.c | 4 ++++
app/test/test_stack_perf.c | 4 ++++
doc/guides/rel_notes/release_21_05.rst | 4 ++++
lib/librte_stack/rte_stack.c | 4 +++-
lib/librte_stack/rte_stack.h | 3 ++-
lib/librte_stack/rte_stack_lf.h | 5 +++++
6 files changed, 22 insertions(+), 2 deletions(-)
--
2.27.0
More information about the dev
mailing list