[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