[EXTERNAL] [RFC v7 0/4] eventdev: atomic tests to test-eventdev app
Pavan Nikhilesh Bhagavatula
pbhagavatula at marvell.com
Thu Feb 20 10:13:58 CET 2025
> Add atomic tests to the test-eventdev app which correspond to the order
> tests but use exclusively atomic queues.
>
> The test detects if port maintenance is required, and so they are compatible
> with event devices such as the distributed software eventdev.
>
> To verify atomicity, a spinlock is used for each combination of stage and flow.
> It is acquired whenever an event is dequeued for processing and released
> when
> processing is finished.
>
> The tests will fail if a port attempts to acquire a lock which is already held.
>
> Luka Jankovic (4):
> eventdev: atomic common for test-eventdev app
> eventdev: add atomic queue test to test-evnetdev app
> eventdev: add atomic atq to test-eventdev app
> eventdev: documentation for atomic queue and atomic atq tests
>
Series-tested-by: Pavan Nikhilesh <pbhagavatula at marvell.com>
> app/test-eventdev/evt_common.h | 9 +
> app/test-eventdev/meson.build | 3 +
> app/test-eventdev/test_atomic_atq.c | 216 +++
> app/test-eventdev/test_atomic_common.c | 134 ++
> app/test-eventdev/test_atomic_common.h | 85 +
> app/test-eventdev/test_atomic_queue.c | 230 +++
> .../tools/img/eventdev_atomic_atq_test.svg | 1588 +++++++++++++++
> .../tools/img/eventdev_atomic_queue_test.svg | 1701
> +++++++++++++++++
> doc/guides/tools/testeventdev.rst | 155 ++
> 9 files changed, 4121 insertions(+)
> create mode 100644 app/test-eventdev/test_atomic_atq.c
> create mode 100644 app/test-eventdev/test_atomic_common.c
> create mode 100644 app/test-eventdev/test_atomic_common.h
> create mode 100644 app/test-eventdev/test_atomic_queue.c
> create mode 100644 doc/guides/tools/img/eventdev_atomic_atq_test.svg
> create mode 100644
> doc/guides/tools/img/eventdev_atomic_queue_test.svg
>
> ---
> v7:
> * Refactor common atomic test functionality into separate common file.
> * Implement atomic atq
>
> v6:
> * Revert the use of event.u64 to mbufs as the Marvell CNXK platform
> assumes
> event.u64 to be 8-byte aligned, which causes the test to fail.
> * Clarified deadlock error message.
>
> v5:
> * Updated documentation for dpdk-test-eventdev
>
> v4:
> * Fix code style issues.
> * Remove unused imports.
>
> v3:
> * Use struct to avoid bit operations when accessing event u64.
> * Changed __rte_always_inline to inline for processing stages.
> * Introduce idle timeout constant.
> * Formatting and cleanup.
>
> v2:
> * Changed to only check queue, flow combination, not port, queue, flow.
> * Lock is only held when a packet is processed.
> * Utilize event u64 instead of mbuf.
> * General cleanup.
>
> ---
> 2.34.1
More information about the dev
mailing list