Hi Anoob, This is a typical producer-consumer case, enqueue and dequeue operations must be conducted in a synchronized way, otherwise stale or earlier-than-arrival data will be got. Out-of-synchronization issues are more prone to happen on weak memory ordered platforms, like arm and PPC, if execution in the program order is assumed. I see in this patch MOD_INC() and other reads/writes of the indexes might get reordered with regard to real enqueue and deque operations, this may cause synchronization errors. I have a fix for rte ring using C11 to keep synchronized operations, please refer to: http://patches.dpdk.org/patch/47733/ /Gavin
> -----Original Message----- > From: dev <[email protected]> On Behalf Of Anoob Joseph > Sent: Sunday, October 13, 2019 8:40 PM > To: [email protected]; Pablo de Lara <[email protected]> > Cc: Anoob Joseph <[email protected]>; Fiona Trahe > <[email protected]>; [email protected]; Narayana Prasad > <[email protected]>; Shally Verma <[email protected]>; Ankur > Dwivedi <[email protected]>; Kanaka Durga Kotamarthy > <[email protected]>; Sunila Sahu <[email protected]>; Tejasree > Kondoj <[email protected]>; [email protected] > Subject: [dpdk-dev] [PATCH v2 07/12] crypto/octeontx2: add > enqueue/dequeue ops > > This patch adds the enqueue burst and dequeue burst callbacks for the > OCTEON TX2 crypto driver. <snip>

