On Mon, Apr 12, 2021 at 10:29 AM Stanislaw Kardach <k...@semihalf.com> wrote: > > 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 sta...@dpdk.org because check-git-log.sh suggested it. I'm > not sure if adding a binary compatible change to API is worth sta...@dpdk.org. > > Cc: sta...@dpdk.org
The issue was hit while porting to a new architecture. The feature is broken in existing stable releases and it won't get fixed by this change. I'd rather not backport it. Opinions? -- David Marchand