> 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 <pbhagavat...@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

Reply via email to