#
e0a8442c |
| 16-Aug-2023 |
Bruce Richardson <bruce.richardson@intel.com> |
test: tag tests type
Rather than having the test types called out in the meson.build file, we can use macros to identify the test type in the C file itself and then dynamically build up the tests li
test: tag tests type
Rather than having the test types called out in the meson.build file, we can use macros to identify the test type in the C file itself and then dynamically build up the tests lists at config time.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Morten Brørup <mb@smartsharesystems.com>
show more ...
|
#
4da01360 |
| 13-Oct-2021 |
Joyce Kong <joyce.kong@arm.com> |
stack: remove unneeded atomic header include
In stack module, remove the header file rte_atomic.h as it is not being used.
Signed-off-by: Joyce Kong <joyce.kong@arm.com> Signed-off-by: Dharmik Thak
stack: remove unneeded atomic header include
In stack module, remove the header file rte_atomic.h as it is not being used.
Signed-off-by: Joyce Kong <joyce.kong@arm.com> Signed-off-by: Dharmik Thakkar <dharmik.thakkar@arm.com> Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com> Acked-by: Olivier Matz <olivier.matz@6wind.com>
show more ...
|
#
1abb185d |
| 12-Apr-2021 |
Stanislaw Kardach <kda@semihalf.com> |
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 <kda@semihalf.com> Acked-by: Olivier Matz <olivier.matz@6wind.com>
show more ...
|
#
cb056611 |
| 15-Oct-2020 |
Stephen Hemminger <stephen@networkplumber.org> |
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 <stephen@networkplumber.org> Acked-by: Anatoly Burakov <anatoly.burakov@intel.com>
show more ...
|
#
c51e67c2 |
| 12-Aug-2020 |
Steven Lariau <steven.lariau@arm.com> |
test/stack: remove thread synchronisation
Remove the part that checks if there is enough room in the stack, it's always true as long as size of stack >= MAX_BULK*rte_lcore_count(). This check used a
test/stack: remove thread synchronisation
Remove the part that checks if there is enough room in the stack, it's always true as long as size of stack >= MAX_BULK*rte_lcore_count(). This check used an atomic cmpset, and read / write to a shared size variable. These operations result in some form of synchronization that might get in the way of the actual stack testing.
Signed-off-by: Steven Lariau <steven.lariau@arm.com> Reviewed-by: Dharmik Thakkar <dharmik.thakkar@arm.com> Reviewed-by: Phil Yang <phil.yang@arm.com> Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com> Acked-by: Gage Eads <gage.eads@intel.com>
show more ...
|
#
04442131 |
| 12-Aug-2020 |
Steven Lariau <steven.lariau@arm.com> |
test/stack: check errors for multi-threads
Use rte_eal_wait_lcore to wait and get the return value for all cores. This is used to propagate any error to the main core.
Signed-off-by: Steven Lariau
test/stack: check errors for multi-threads
Use rte_eal_wait_lcore to wait and get the return value for all cores. This is used to propagate any error to the main core.
Signed-off-by: Steven Lariau <steven.lariau@arm.com> Reviewed-by: Dharmik Thakkar <dharmik.thakkar@arm.com> Reviewed-by: Phil Yang <phil.yang@arm.com> Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com> Acked-by: Gage Eads <gage.eads@intel.com>
show more ...
|
#
e67925af |
| 12-Aug-2020 |
Steven Lariau <steven.lariau@arm.com> |
test/stack: remove unneeded memory allocations
Replace the arguments array by one argument. All objects in the args array have the same values, so there is no need to use an array, only one struct i
test/stack: remove unneeded memory allocations
Replace the arguments array by one argument. All objects in the args array have the same values, so there is no need to use an array, only one struct is enough. The args object is a lot smaller, and the allocation can be replaced with a global variable. As a consequence of using a single argument, there is no need to use a loop to launch the test on every core one by one. Replace it with rte_eal_mp_remote_launch.
The allocation of obj_table isn't needed either, because MAX_BULK is small. The allocation can instead be replaced with a static array.
Signed-off-by: Steven Lariau <steven.lariau@arm.com> Reviewed-by: Dharmik Thakkar <dharmik.thakkar@arm.com> Reviewed-by: Phil Yang <phil.yang@arm.com> Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com> Acked-by: Gage Eads <gage.eads@intel.com>
show more ...
|
#
e0f4a0ed |
| 15-Jun-2019 |
David Marchand <david.marchand@redhat.com> |
test: skip tests when missing requirements
Let's mark as skipped the tests when they are missing some requirements like a number of used cores or specific hardware availability, like compress, crypt
test: skip tests when missing requirements
Let's mark as skipped the tests when they are missing some requirements like a number of used cores or specific hardware availability, like compress, crypto or eventdev devices.
Signed-off-by: David Marchand <david.marchand@redhat.com>
show more ...
|
#
0420378b |
| 03-Apr-2019 |
Gage Eads <gage.eads@intel.com> |
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 <gage.eads@intel.com> Reviewed-by: Olivier Matz <olivier.matz@6wind.com>
show more ...
|
#
5e2e61b9 |
| 03-Apr-2019 |
Gage Eads <gage.eads@intel.com> |
test/stack: check stack API
stack_autotest performs positive and negative testing of the stack API, and exercises the push and pop datapath functions with all available lcores.
Signed-off-by: Gage
test/stack: check stack API
stack_autotest performs positive and negative testing of the stack API, and exercises the push and pop datapath functions with all available lcores.
Signed-off-by: Gage Eads <gage.eads@intel.com> Reviewed-by: Olivier Matz <olivier.matz@6wind.com>
show more ...
|