|
Revision tags: v22.03, v22.03-rc4, v22.03-rc3, v22.03-rc2, v22.03-rc1, v21.11, v21.11-rc4, v21.11-rc3 |
|
| #
e64f423b |
| 17-Nov-2021 |
Joyce Kong <[email protected]> |
test/stack_perf: use compiler atomics for lcore sync
Convert rte_atomic usages to compiler atomic built-ins for lcore sync in stack_perf test cases.
Signed-off-by: Joyce Kong <[email protected]> R
test/stack_perf: use compiler atomics for lcore sync
Convert rte_atomic usages to compiler atomic built-ins for lcore sync in stack_perf test cases.
Signed-off-by: Joyce Kong <[email protected]> Reviewed-by: Ruifeng Wang <[email protected]> Reviewed-by: Honnappa Nagarahalli <[email protected]>
show more ...
|
|
Revision tags: v21.11-rc2, v21.11-rc1, v21.08, v21.08-rc4, v21.08-rc3, v21.08-rc2, v21.08-rc1, v21.05, v21.05-rc4, v21.05-rc3, v21.05-rc2, v21.05-rc1 |
|
| #
1abb185d |
| 12-Apr-2021 |
Stanislaw Kardach <[email protected]> |
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
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 <[email protected]> Acked-by: Olivier Matz <[email protected]>
show more ...
|
|
Revision tags: v21.02, v21.02-rc4, v21.02-rc3, v21.02-rc2, v21.02-rc1, v20.11, v20.11-rc5, v20.11-rc4, v20.11-rc3, v20.11-rc2, v20.11-rc1 |
|
| #
cb056611 |
| 15-Oct-2020 |
Stephen Hemminger <[email protected]> |
eal: rename lcore master and slave
Replace master lcore with main lcore and replace slave lcore with worker lcore.
Keep the old functions and macros but mark them as deprecated for this release.
T
eal: rename lcore master and slave
Replace master lcore with main lcore and replace slave lcore with worker lcore.
Keep the old functions and macros but mark them as deprecated for this release.
The "--master-lcore" command line option is also deprecated and any usage will print a warning and use "--main-lcore" as replacement.
Signed-off-by: Stephen Hemminger <[email protected]> Acked-by: Anatoly Burakov <[email protected]>
show more ...
|
|
Revision tags: v20.08, v20.08-rc4, v20.08-rc3, v20.08-rc2, v20.08-rc1, v20.05, v20.05-rc4, v20.05-rc3, v20.05-rc2, v20.05-rc1, v20.02, v20.02-rc4, v20.02-rc3, v20.02-rc2, v20.02-rc1, v19.11, v19.11-rc4, v19.11-rc3, v19.11-rc2, v19.11-rc1 |
|
| #
8ada5b15 |
| 17-Oct-2019 |
Pavan Nikhilesh <[email protected]> |
test: use common macro RTE_DIM
Use RTE_DIM instead of re-defining ARRAY_SIZE.
Signed-off-by: Pavan Nikhilesh <[email protected]> Acked-by: Gage Eads <[email protected]>
|
|
Revision tags: v19.08, v19.08-rc4, v19.08-rc3, v19.08-rc2, v19.08-rc1 |
|
| #
de307f7a |
| 31-May-2019 |
Stephen Hemminger <[email protected]> |
test: use lcore accessors
Don't refer to lcore_config directly.
Signed-off-by: Stephen Hemminger <[email protected]> Signed-off-by: David Marchand <[email protected]>
|
|
Revision tags: v19.05, v19.05-rc4, v19.05-rc3, v19.05-rc2, v19.05-rc1 |
|
| #
0420378b |
| 03-Apr-2019 |
Gage Eads <[email protected]> |
test/stack: check lock-free implementation
This commit adds lock-free stack variants of stack_autotest (stack_lf_autotest) and stack_perf_autotest (stack_lf_perf_autotest), which differ only in that
test/stack: check lock-free implementation
This commit adds lock-free stack variants of stack_autotest (stack_lf_autotest) and stack_perf_autotest (stack_lf_perf_autotest), which differ only in that the lock-free versions pass the RTE_STACK_F_LF flag to all rte_stack_create() calls.
Signed-off-by: Gage Eads <[email protected]> Reviewed-by: Olivier Matz <[email protected]>
show more ...
|
| #
cfe6fab0 |
| 03-Apr-2019 |
Gage Eads <[email protected]> |
test/stack: check stack performance
stack_perf_autotest tests the following with one lcore: - Cycles to attempt to pop an empty stack - Cycles to push then pop a single object - Cycles to push then
test/stack: check stack performance
stack_perf_autotest tests the following with one lcore: - Cycles to attempt to pop an empty stack - Cycles to push then pop a single object - Cycles to push then pop a burst of 32 objects
It also tests the cycles to push then pop a burst of 8 and 32 objects with the following lcore combinations (if possible): - Two hyperthreads - Two physical cores - Two physical cores on separate NUMA nodes - All available lcores
Signed-off-by: Gage Eads <[email protected]> Reviewed-by: Olivier Matz <[email protected]>
show more ...
|