eventdev/eth_rx: make enqueue buffer circular
authorGanapati Kundapura <ganapati.kundapura@intel.com>
Mon, 30 Aug 2021 13:06:25 +0000 (08:06 -0500)
committerJerin Jacob <jerinj@marvell.com>
Thu, 21 Oct 2021 08:14:49 +0000 (10:14 +0200)
commit8113fd15e229364af766c3ab08f836d735a3e2cc
tree4a4a04bcac208ef40233a39c2b95d43e0bd3803a
parent1752b087814f5456e288714c4e5813bd37083fab
eventdev/eth_rx: make enqueue buffer circular

Rx adapter uses memove() to move unprocessed events to the beginning of
the packet enqueue buffer. The use memmove() was found to consume good
amount of CPU cycles (about 20%).

This patch removes the use of memove() while implementing a circular
buffer to avoid copying of data. With this change RX adapter is able
to fill the buffer of 16384 events.

Signed-off-by: Ganapati Kundapura <ganapati.kundapura@intel.com>
Acked-by: Jerin Jacob <jerinj@marvell.com>
lib/eventdev/rte_event_eth_rx_adapter.c