Stanislaw Kardach
1abb185d6c
stack: allow lock-free only on relevant architectures
...
Since commit 7911ba0473e0 ("stack: enable lock-free implementation for
aarch64"), lock-free stack is supported on arm64 but this description was
missing from the doxygen for the flag.
Currently it is impossible to detect programmatically 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.
Use the added RTE_STACK_LF_SUPPORTED flag to disable the lock-free stack
tests at the compile time.
Perf test doesn't fail because rte_ring_create() succeeds, however
marking this test as skipped gives a better indication of what actually
was tested.
Fixes: 7911ba0473e0 ("stack: enable lock-free implementation for aarch64")
Signed-off-by: Stanislaw Kardach <kda@semihalf.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
2021-05-03 18:46:15 +02:00
..
2019-02-26 15:29:27 +01:00
2020-10-02 13:51:00 +02:00
2020-11-16 00:11:22 +01:00
2021-03-25 16:24:27 +01:00
2020-11-16 00:11:22 +01:00
2021-04-14 15:14:56 +02:00
2020-01-20 16:37:27 +01:00
2020-04-15 15:45:24 +02:00
2021-04-21 14:04:09 +02:00
2021-04-09 12:43:25 +02:00
2019-05-24 13:34:46 +02:00
2021-04-21 16:29:20 +02:00
2019-02-26 15:29:27 +01:00
2019-03-27 23:10:57 +01:00
2019-02-26 15:29:27 +01:00
2019-02-26 15:29:27 +01:00
2020-10-14 14:23:01 +02:00
2020-02-13 14:43:56 +01:00
2019-03-12 23:01:14 +01:00
2020-10-20 13:17:08 +02:00
2020-10-20 13:17:08 +02:00
2021-01-17 22:37:28 +01:00
2020-06-16 14:34:39 +02:00
2020-10-19 16:08:36 +02:00
2021-04-21 17:08:02 +02:00
2019-02-26 15:29:27 +01:00
2019-11-28 03:12:55 +01:00
2019-02-26 15:29:27 +01:00
2020-02-05 14:37:41 +01:00
2021-04-21 00:40:52 +02:00
2020-10-15 00:39:10 +02:00
2021-04-21 00:44:24 +02:00
2020-02-05 14:37:41 +01:00
2020-02-05 14:37:41 +01:00
2019-02-26 15:29:27 +01:00
2019-02-26 15:29:27 +01:00
2019-12-20 15:05:41 +01:00
2020-10-20 13:17:08 +02:00
2020-04-19 17:15:14 +02:00
2020-10-13 17:57:52 +02:00
2020-10-13 19:26:15 +02:00
2020-10-14 22:22:06 +02:00
2021-04-16 12:43:33 +02:00
2020-01-15 15:01:55 +01:00
2020-10-01 16:41:20 +02:00
2021-04-16 12:43:33 +02:00
2021-04-16 12:43:33 +02:00
2020-04-19 22:45:40 +02:00
2019-02-26 15:29:27 +01:00
2019-02-26 15:29:27 +01:00
2020-01-15 15:01:55 +01:00
2020-01-15 15:01:55 +01:00
2021-01-19 18:05:45 +01:00
2019-02-26 15:29:27 +01:00
2019-02-26 15:29:27 +01:00
2019-07-05 15:28:14 +02:00
2020-01-15 16:45:04 +01:00
2019-04-02 16:50:24 +02:00
2019-10-23 16:57:06 +02:00
2020-07-08 18:16:16 +02:00
2020-10-14 22:24:41 +02:00
2019-10-09 11:50:12 +02:00
2019-10-09 11:50:12 +02:00
2019-10-09 11:50:12 +02:00
2019-02-26 15:29:27 +01:00
2019-07-05 15:28:14 +02:00
2019-07-05 15:28:14 +02:00
2021-04-16 12:43:33 +02:00
2020-10-14 22:22:06 +02:00
2020-07-27 16:42:19 +02:00
2021-03-03 10:05:23 +01:00
2020-10-20 13:17:08 +02:00
2021-01-29 08:48:45 +01:00
2020-11-20 09:58:55 +01:00
2021-04-21 14:04:09 +02:00
2020-10-20 13:17:08 +02:00
2020-10-20 13:17:08 +02:00
2020-02-05 14:37:41 +01:00
2020-09-21 18:05:37 +02:00
2021-04-17 18:50:06 +02:00
2020-10-16 22:26:41 +02:00
2020-09-30 19:19:15 +02:00
2019-02-26 15:29:27 +01:00
2021-04-12 09:23:34 +02:00
2021-04-12 09:21:30 +02:00
2021-03-01 11:58:28 +01:00
2019-07-06 10:32:34 +02:00
2019-11-06 00:11:55 +01:00
2020-10-28 21:23:11 +01:00
2020-03-04 10:11:07 +01:00
2020-10-28 21:23:11 +01:00
2020-05-11 23:51:22 +02:00
2019-02-26 15:29:27 +01:00
2020-10-20 13:17:08 +02:00
2020-05-15 11:00:55 +02:00
2020-10-31 16:13:11 +01:00
2020-02-05 14:37:41 +01:00
2020-10-20 13:17:08 +02:00
2020-04-25 19:26:47 +02:00
2020-10-24 11:11:46 +02:00
2020-10-20 13:17:08 +02:00
2020-10-24 11:11:46 +02:00
2019-09-13 17:00:19 +02:00
2020-04-25 15:15:30 +02:00
2020-05-11 13:17:43 +02:00
2019-10-23 16:57:06 +02:00
2021-01-27 20:58:14 +01:00
2020-10-20 13:17:08 +02:00
2021-03-16 20:15:29 +01:00
2020-05-19 14:13:19 +02:00
2020-07-08 14:41:06 +02:00
2020-10-16 22:26:41 +02:00
2020-10-16 22:26:41 +02:00
2021-01-29 20:59:09 +01:00
2021-04-09 14:01:07 +02:00
2020-02-05 14:37:41 +01:00
2019-02-26 15:29:27 +01:00
2020-02-05 14:37:41 +01:00
2020-11-05 16:01:16 +01:00
2021-01-14 16:41:40 +01:00
2020-10-20 13:17:08 +02:00
2021-03-02 10:57:28 +01:00
2021-01-15 16:32:19 +01:00
2019-10-25 23:16:23 +02:00
2020-04-16 18:16:46 +02:00
2020-09-25 11:13:57 +02:00
2020-02-05 14:37:41 +01:00
2019-10-09 10:22:24 +02:00
2020-10-20 13:17:08 +02:00
2020-04-16 18:30:58 +02:00
2021-04-21 14:04:09 +02:00
2019-04-11 14:27:32 +02:00
2019-10-27 14:40:55 +01:00
2020-10-20 13:17:08 +02:00
2021-01-29 20:59:09 +01:00
2019-02-26 15:29:27 +01:00
2020-10-20 13:17:08 +02:00
2021-04-14 21:59:47 +02:00
2021-01-19 11:03:14 +01:00
2020-10-16 22:26:41 +02:00
2020-10-16 22:26:41 +02:00
2021-04-21 19:19:58 +02:00
2020-10-19 22:15:44 +02:00
2020-10-19 22:15:44 +02:00
2020-10-16 14:11:45 +02:00
2019-06-28 15:23:55 +02:00
2020-10-06 09:26:28 +02:00
2020-10-20 13:17:08 +02:00
2020-10-30 15:43:57 +01:00
2019-02-26 15:29:27 +01:00
2019-02-26 15:29:27 +01:00
2019-02-26 15:29:27 +01:00
2020-10-31 22:14:30 +01:00
2019-02-26 15:29:27 +01:00
2019-11-26 00:12:08 +01:00
2019-11-07 17:46:43 +01:00
2020-04-21 12:52:55 +02:00
2020-04-21 11:34:09 +02:00
2020-11-15 16:45:48 +01:00
2020-07-03 12:36:04 +02:00
2021-01-29 11:37:01 +01:00
2020-04-21 12:52:55 +02:00
2020-10-29 14:13:31 +01:00
2020-07-03 12:05:25 +02:00
2020-10-29 14:13:31 +01:00
2020-10-29 14:13:31 +01:00
2020-10-29 14:13:31 +01:00
2020-11-15 16:45:48 +01:00
2020-10-29 14:13:31 +01:00
2021-01-17 18:50:26 +01:00
2020-10-15 02:14:21 +02:00
2020-10-19 09:54:54 +02:00
2020-10-20 13:17:08 +02:00
2020-10-20 13:17:08 +02:00
2021-05-03 18:46:15 +02:00
2021-05-03 18:46:15 +02:00
2019-02-26 15:29:27 +01:00
2019-06-03 16:54:54 +02:00
2019-02-26 15:29:27 +01:00
2019-08-05 15:19:32 +02:00
2020-10-19 22:15:44 +02:00
2020-04-16 18:30:58 +02:00
2019-02-26 15:29:27 +01:00
2019-02-26 15:29:27 +01:00
2019-02-26 15:29:27 +01:00
2019-08-05 15:19:32 +02:00
2020-10-19 22:15:44 +02:00
2020-10-19 22:15:44 +02:00
2020-10-19 22:15:44 +02:00
2019-10-09 10:22:24 +02:00
2020-10-19 17:01:58 +02:00
2021-04-21 14:04:09 +02:00
2021-04-20 23:13:23 +02:00
2020-10-20 13:17:08 +02:00
2019-03-12 17:31:22 +01:00
2020-10-20 13:17:08 +02:00
2020-10-20 13:17:08 +02:00
2020-10-20 13:17:08 +02:00
2021-04-14 16:12:44 +02:00
2020-07-05 21:34:21 +02:00
2020-10-07 14:44:03 +02:00
2020-04-23 15:40:03 +02:00
2019-02-26 15:29:27 +01:00
2020-10-13 16:35:48 +02:00
2021-04-14 15:14:56 +02:00
2021-04-14 15:14:56 +02:00
2021-01-29 20:59:09 +01:00
2019-05-24 13:34:45 +02:00