[EXTERNAL] [RFC v4 1/1] eventdev: add atomic queue to test-eventdev app
Jerin Jacob
jerinj at marvell.com
Mon Jan 13 13:27:21 CET 2025
> -----Original Message-----
> From: Luka Jankovic <luka.jankovic at ericsson.com>
> Sent: Monday, January 13, 2025 5:48 PM
> To: luka.jankovic at ericsson.com
> Cc: dev at dpdk.org; mattias.ronnblom at ericsson.com
> Subject: [EXTERNAL] [RFC v4 1/1] eventdev: add atomic queue to test-eventdev
> app
>
> Add an atomic queue test based on the order queue test that exclusively uses
> atomic queues. This makes it compatible with event devices such as the
> distributed software eventdev. The test detects if port maintenance is required.
> To verify atomicity,
> Add an atomic queue test based on the order queue test that exclusively uses
> atomic queues.
> This makes it compatible with event devices such as the distributed software
> eventdev.
>
> The test detects if port maintenance is required.
>
> To verify atomicity, a spinlock is set up for each combination of queue and flow.
> It is taken whenever an event is dequeued for processing and released when
> processing is finished.
> The test will fail if a port attempts to take a lock which is already taken.
>
> Signed-off-by: Luka Jankovic <luka.jankovic at ericsson.com>
> ---
> 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.
> ---
> app/test-eventdev/evt_common.h | 9 +
> app/test-eventdev/meson.build | 1 +
> app/test-eventdev/test_atomic_queue.c | 412
Please update doc/guides/tools/testeventdev.rst
More information about the dev
mailing list