From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 80FB9A00E6 for ; Fri, 12 Jul 2019 13:48:56 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 3DE011BDF0; Fri, 12 Jul 2019 13:48:54 +0200 (CEST) Received: from mail.droids-corp.org (zoll.droids-corp.org [94.23.50.67]) by dpdk.org (Postfix) with ESMTP id C68911BA5E; Fri, 12 Jul 2019 13:48:51 +0200 (CEST) Received: from lfbn-lil-1-176-160.w90-45.abo.wanadoo.fr ([90.45.26.160] helo=droids-corp.org) by mail.droids-corp.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1hlu5g-0002Js-US; Fri, 12 Jul 2019 13:51:54 +0200 Received: by droids-corp.org (sSMTP sendmail emulation); Fri, 12 Jul 2019 13:48:42 +0200 Date: Fri, 12 Jul 2019 13:48:42 +0200 From: Olivier Matz To: "Gavin Hu (Arm Technology China)" Cc: "thomas@monjalon.net" , "dev@dpdk.org" , nd , "jerinj@marvell.com" , "hemant.agrawal@nxp.com" , "Nipun.gupta@nxp.com" , Honnappa Nagarahalli , "i.maximets@samsung.com" , "stable@dpdk.org" , "Ruifeng Wang (Arm Technology China)" Message-ID: <20190712114842.4igwthwrg6cmxqs5@platinum> References: <20181212062404.30243-1-gavin.hu@arm.com> <1552620686-10347-2-git-send-email-gavin.hu@arm.com> <20190329141755.ziopuvhepdi372aa@platinum> <2965897.HCpMyYeHc3@xps> <20190712095339.kfuqskwok5r5j4nv@platinum> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: NeoMutt/20180716 Subject: Re: [dpdk-dev] [PATCH v7 1/2] ring: add reset API to flush the ring when not in use X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Hi Gavin, On Fri, Jul 12, 2019 at 11:06:28AM +0000, Gavin Hu (Arm Technology China) wrote: > Hi Olivier, > > > -----Original Message----- > > From: Olivier Matz > > Sent: Friday, July 12, 2019 5:54 PM > > To: Gavin Hu (Arm Technology China) > > Cc: thomas@monjalon.net; dev@dpdk.org; nd ; > > jerinj@marvell.com; hemant.agrawal@nxp.com; Nipun.gupta@nxp.com; > > Honnappa Nagarahalli ; > > i.maximets@samsung.com; stable@dpdk.org > > Subject: Re: [dpdk-dev] [PATCH v7 1/2] ring: add reset API to flush the ring > > when not in use > > > > Hi Gavin, > > > > On Fri, Jul 12, 2019 at 09:32:39AM +0000, Gavin Hu (Arm Technology China) > > wrote: > > > Hi Olivier and Thomas, > > > > > > > -----Original Message----- > > > > From: Thomas Monjalon > > > > Sent: Thursday, July 4, 2019 10:42 PM > > > > To: Gavin Hu (Arm Technology China) > > > > Cc: dev@dpdk.org; Olivier Matz ; nd > > > > ; jerinj@marvell.com; hemant.agrawal@nxp.com; > > > > Nipun.gupta@nxp.com; Honnappa Nagarahalli > > > > ; i.maximets@samsung.com; > > > > stable@dpdk.org > > > > Subject: Re: [dpdk-dev] [PATCH v7 1/2] ring: add reset API to flush the ring > > > > when not in use > > > > > > > > 29/03/2019 15:17, Olivier Matz: > > > > > Hi, > > > > > > > > > > On Fri, Mar 15, 2019 at 11:31:25AM +0800, Gavin Hu wrote: > > > > > > Currently, the flush is done by dequeuing the ring in a while loop. It is > > > > > > much simpler to flush the queue by resetting the head and tail indices. > > > > > > > > > > > > Fixes: af75078fece3 ("first public release") > > > > > > Cc: stable@dpdk.org > > > > > > > > > > > > Signed-off-by: Gavin Hu > > > > > > Reviewed-by: Ruifeng Wang > > > > > > Reviewed-by: Honnappa Nagarahalli > > > > > > --- > > > > > > --- a/lib/librte_ring/rte_ring_version.map > > > > > > +++ b/lib/librte_ring/rte_ring_version.map > > > > > > @@ -17,3 +17,10 @@ DPDK_2.2 { > > > > > > rte_ring_free; > > > > > > > > > > > > } DPDK_2.0; > > > > > > + > > > > > > +EXPERIMENTAL { > > > > > > + global: > > > > > > + > > > > > > + rte_ring_reset; > > > > > > + > > > > > > +}; > > > > > > > > > > To me, a static inline function does not need to be added in > > > > > rte_ring_version.map (or is it due to a check script checking the > > > > > __rte_experimental tag ?). I found at least one commit where it > > > > > is not the case: > > > > > c277b34c1b3b ("mbuf: add function returning buffer address") > > > > > > > > > > There are 2 options: > > > > > 1- remove the rte_ring_version.map part of the patch. > > > > > 2- change the static inline function into a standard function. > > > > > > > > > > I would prefer 2-, because it allows to keep an api/abi compat > > > > > layer in the future. > > > > > > > > There are no news about this patch. > > > > I classify it as changes requested. > > > > > > > Sorry for missed your comments for long time, I just submitted v8. > > > I took the first option as it is in the data path and to keep consistent to its > > neighboring functions. > > > > Could you give a little more context about why you need to reset > > the ring in the data path? I see that it is used in rte_hash_reset(), > > but in my thinking, this was more used at init/exit. > Sorry,literally it is in the control path, but I was impressed it will impact the > Data path performance when discussing this patch with Honnappa. I'm asking this because given the recent discussions about ABI stability, I'd like to avoid defining a new static inline if it is not required. Thanks, Olivier