> 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.janko...@ericsson.com> > --- > 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.
Hi Luka, This test fails on Marvell CNXK platform because HW assumes that value of event.u64 will be 8byte aligned and upper bits as per[1], for optimizations purposes. Could you go back to using mbuf similar to ordered_atq/queue Thanks, Pavan. > * General cleanup. [1] https://docs.kernel.org/arch/arm64/memory.html