From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jerin Jacob Subject: Re: [RFC PATCH] eventdev: add buffered enqueue and flush APIs Date: Wed, 14 Dec 2016 13:22:20 +0530 Message-ID: <20161214075219.GA24792@localhost.localdomain> References: <1480707956-17187-1-git-send-email-gage.eads@intel.com> <1480707956-17187-2-git-send-email-gage.eads@intel.com> <20161202211847.GA14577@localhost.localdomain> <60DABA4C-E3E8-4768-B2E4-BB97C6421A50@intel.com> <20161208044139.GA24793@svelivela-lt.caveonetworks.com> <9184057F7FC11744A2107296B6B8EB1E01E38655@FMSMSX108.amr.corp.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Cc: "dev@dpdk.org" , "Richardson, Bruce" , "Van Haaren, Harry" , "hemant.agrawal@nxp.com" To: "Eads, Gage" Return-path: Received: from NAM03-BY2-obe.outbound.protection.outlook.com (mail-by2nam03on0085.outbound.protection.outlook.com [104.47.42.85]) by dpdk.org (Postfix) with ESMTP id 95EB6370 for ; Wed, 14 Dec 2016 08:52:41 +0100 (CET) Content-Disposition: inline In-Reply-To: <9184057F7FC11744A2107296B6B8EB1E01E38655@FMSMSX108.amr.corp.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" On Mon, Dec 12, 2016 at 05:56:32PM +0000, Eads, Gage wrote: > > > > -----Original Message----- > > From: Jerin Jacob [mailto:jerin.jacob@caviumnetworks.com] > > Sent: Wednesday, December 7, 2016 10:42 PM > > To: Eads, Gage > > Cc: dev@dpdk.org; Richardson, Bruce ; Van > > Haaren, Harry ; hemant.agrawal@nxp.com > > Subject: Re: [RFC PATCH] eventdev: add buffered enqueue and flush APIs > > > > On Mon, Dec 05, 2016 at 11:30:46PM +0000, Eads, Gage wrote: > > > > > > > On Dec 3, 2016, at 5:18 AM, Jerin Jacob > > wrote: > > > > > > > >> On Fri, Dec 02, 2016 at 01:45:56PM -0600, Gage Eads wrote: > > > >> This commit adds buffered enqueue functionality to the eventdev API. > > > >> It is conceptually similar to the ethdev API's tx buffering, > > > >> however with a smaller API surface and no dropping of events. > > > > > > > > Hello Gage, > > > > Different implementation may have different strategies to hold the buffers. > > > > > > A benefit of inlining the buffering logic in the header is that we avoid the > > overhead of entering the PMD for what is a fairly simple operation (common > > case: add event to an array, increment counter). If we make this > > implementation-defined (i.e. use PMD callbacks), we lose that benefit. > > In general, I agree from the system perspective. But, few general issues with > > eventdev integration part, > > > > 1) What if the burst has ATOMIC flows and if we are NOT en-queuing to the > > implementation then other event ports won't get the packets from the same > > ATOMIC tag ? BAD. Right? > > I'm not sure what scenario you're describing here. The buffered (as implemented in my patch) and non-buffered enqueue operations are functionally the same (as long as the buffer is flushed), the difference lies in when the events are moved from the application level to the PMD. Another point, we treat dequeue as _implicit_ event release of the existing dequeued events, so with proposed buffering scheme breaks all the logic.