On Wed, 2025-01-22 at 10:20 +0000, Pavan Nikhilesh Bhagavatula wrote: > > 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.
Thanks for bringing it up, I wasn't aware. I will revert back to the mbuf implementation. > > > * General cleanup. > > [1] > https://docs.kernel.org/arch/arm64/memory.html