HI Alexander, > -----Original Message----- > From: Alexander Kozyrev <akozy...@nvidia.com> > Sent: Sunday, February 6, 2022 5:25 AM > To: dev@dpdk.org > Cc: Ori Kam <or...@nvidia.com>; NBU-Contact-Thomas Monjalon (EXTERNAL) > <tho...@monjalon.net>; ivan.ma...@oktetlabs.ru; andrew.rybche...@oktetlabs.ru; > ferruh.yi...@intel.com; mohammad.abdul.a...@intel.com; qi.z.zh...@intel.com; > jer...@marvell.com; ajit.khapa...@broadcom.com > Subject: [PATCH v3 03/10] ethdev: bring in async queue-based flow rules > operations > > A new, faster, queue-based flow rules management mechanism is needed for > applications offloading rules inside the datapath. This asynchronous > and lockless mechanism frees the CPU for further packet processing and > reduces the performance impact of the flow rules creation/destruction > on the datapath. Note that queues are not thread-safe and the queue > should be accessed from the same thread for all queue operations. > It is the responsibility of the app to sync the queue functions in case > of multi-threaded access to the same queue. > > The rte_flow_q_flow_create() function enqueues a flow creation to the > requested queue. It benefits from already configured resources and sets > unique values on top of item and action templates. A flow rule is enqueued > on the specified flow queue and offloaded asynchronously to the hardware. > The function returns immediately to spare CPU for further packet > processing. The application must invoke the rte_flow_q_pull() function > to complete the flow rule operation offloading, to clear the queue, and to > receive the operation status. The rte_flow_q_flow_destroy() function > enqueues a flow destruction to the requested queue. > > Signed-off-by: Alexander Kozyrev <akozy...@nvidia.com> > ---
Acked-by: Ori Kam <or...@nvidia.com> Best, Ori