On Mon, Apr 12, 2021 at 10:29:00AM +0200, Stanislaw Kardach wrote: > Currently it is impossible to detect programatically whether lock-free > implementation of rte_stack is supported. One could check whether the > header guard for lock-free stubs is defined (_RTE_STACK_LF_STUBS_H_) but > that's an unstable implementation detail. Because of that currently all > lock-free ring creations silently succeed (as long as the stack header > is 16B long) which later leads to push and pop operations being NOPs. > The observable effect is that stack_lf_autotest fails on platforms not > supporting the lock-free. Instead it should just skip the lock-free test > altogether. > > This commit adds a new errno value (ENOTSUP) that may be returned by > rte_stack_create() to indicate that a given combination of flags is not > supported on a current platform. > This is detected by checking a compile-time flag in the include logic in > rte_stack_lf.h which may be used by applications to check the lock-free > support at compile time. > > Signed-off-by: Stanislaw Kardach <k...@semihalf.com> > Fixes: 7911ba0473e0 ("stack: enable lock-free implementation for aarch64") > Cc: phil.y...@arm.com > Cc: sta...@dpdk.org
Acked-by: Olivier Matz <olivier.m...@6wind.com>