[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