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 <dev-boun...@dpdk.org> On Behalf Of Anoob Joseph > Sent: Sunday, October 13, 2019 8:40 PM > To: akhil.go...@nxp.com; Pablo de Lara <pablo.de.lara.gua...@intel.com> > Cc: Anoob Joseph <ano...@marvell.com>; Fiona Trahe > <fiona.tr...@intel.com>; jer...@marvell.com; Narayana Prasad > <pathr...@marvell.com>; Shally Verma <shal...@marvell.com>; Ankur > Dwivedi <adwiv...@marvell.com>; Kanaka Durga Kotamarthy > <kkotamar...@marvell.com>; Sunila Sahu <ss...@marvell.com>; Tejasree > Kondoj <ktejas...@marvell.com>; dev@dpdk.org > 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>