From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jerin Jacob Subject: Re: [PATCH 1/2] eventdev: add event adapter for ethernet Rx queues Date: Thu, 6 Jul 2017 19:48:30 +0530 Message-ID: <20170706141829.GA5260@jerin> References: <29140c16-909a-1b9a-7391-481f900bd13c@intel.com> <1499377952-5306-1-git-send-email-nikhil.rao@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: gage.eads@intel.com, dev@dpdk.org, thomas@monjalon.net, bruce.richardson@intel.com, harry.van.haaren@intel.com, hemant.agrawal@nxp.com, nipun.gupta@nxp.com, narender.vangati@intel.com, Abhinandan Gujjar To: Nikhil Rao Return-path: Received: from NAM01-BN3-obe.outbound.protection.outlook.com (mail-bn3nam01on0076.outbound.protection.outlook.com [104.47.33.76]) by dpdk.org (Postfix) with ESMTP id 96C5D2B96 for ; Thu, 6 Jul 2017 16:19:04 +0200 (CEST) Content-Disposition: inline In-Reply-To: <1499377952-5306-1-git-send-email-nikhil.rao@intel.com> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" -----Original Message----- > Date: Fri, 7 Jul 2017 03:22:31 +0530 > From: Nikhil Rao > To: jerin.jacob@caviumnetworks.com > CC: gage.eads@intel.com, dev@dpdk.org, thomas@monjalon.net, > bruce.richardson@intel.com, harry.van.haaren@intel.com, > hemant.agrawal@nxp.com, nipun.gupta@nxp.com, narender.vangati@intel.com, > Nikhil Rao , Abhinandan Gujjar > > Subject: [PATCH 1/2] eventdev: add event adapter for ethernet Rx queues > X-Mailer: git-send-email 2.7.4 > > Eventdev-based networking applications require a component to dequeue > packets from NIC Rx queues and inject them into eventdev queues[1]. While > some platforms (e.g. Cavium Octeontx) do this operation in hardware, other > platforms use software. > > This patchset introduces an ethernet Rx event adapter that dequeues packets > from ethernet devices and enqueues them to event devices. It is based on > a previous RFC[2]. > > The adapter is designed to work with the EAL service core[3]. If > an application determines that the adapter is required, it can register and > launch it on a service core. Alternatively, this adapter can serve as a > template for applications to design customer ethernet Rx event adapters > better suited to their needs. > > The adapter can service multiple ethernet devices and queues. Each queue is > configured with a servicing weight to control the relative frequency with > which the adapter polls the queue, and the event fields to use when > constructing packet events. The adapter has two modes for programming an > event's flow ID: use a static per-queue user-specified value or use the RSS > hash. > > A detailed description of the adapter is contained in the header's > comments. > > [1] http://dpdk.org/ml/archives/dev/2017-May/065341.html > [2] http://dpdk.org/ml/archives/dev/2017-May/065539.html > [3] http://dpdk.org/ml/archives/dev/2017-July/069782.html > > Signed-off-by: Nikhil Rao > Signed-off-by: Gage Eads > Signed-off-by: Abhinandan Gujjar > --- Thanks Nikhil for the patch. Looks like you missed this email? http://dpdk.org/ml/archives/dev/2017-June/068142.html Can we make it as function pointer based approach(keeping all adapter functions function prototype required for SW PMD) so that each PMD can register the ops for adapter_create etc so that same API can be used for software and hardware PMDs(the scheme like rte_flow() or rte_tm() approach) Can discuss more on that to finalize the approach? > > v2: > Thanks Jerin for review - below is a list of changes you > suggested. > > - all public symbols are started with rte_event_. > - Add Doxygen reference with @see. > - Mention setting of ev.event_type. > - Mention adapter to service function mapping. > - Remove rte_eth_rx_event_adapter_dev_add/del(). > - Change rx_queuee_id to int32_t and use -1 to denote all Rx queues. > - Add rte_eth_event_rx_queue_del(). > > Other changes > - Remove adapter's run function (rte_event_eth_rx_adapter_run()) from > the public interface. The adapter internally uses it to create a > service. > - Add a blocked cycle count to stats. Further description is contained > in the header. > - Minor struct renames rte_event_eth_rx_adapter_config -> .._conf > ---