From mboxrd@z Thu Jan 1 00:00:00 1970 From: Adrien Mazarguil Subject: Re: [PATCH v4 6/8] net/mlx4: separate Tx segment cases Date: Thu, 2 Nov 2017 14:43:02 +0100 Message-ID: <20171102134302.GE24849@6wind.com> References: <1509358049-18854-1-git-send-email-matan@mellanox.com> <1509474093-31388-1-git-send-email-matan@mellanox.com> <1509474093-31388-7-git-send-email-matan@mellanox.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: dev@dpdk.org, Ophir Munk To: Matan Azrad Return-path: Received: from mail-wm0-f65.google.com (mail-wm0-f65.google.com [74.125.82.65]) by dpdk.org (Postfix) with ESMTP id 77C471B5F4 for ; Thu, 2 Nov 2017 14:43:14 +0100 (CET) Received: by mail-wm0-f65.google.com with SMTP id r196so11217178wmf.2 for ; Thu, 02 Nov 2017 06:43:14 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1509474093-31388-7-git-send-email-matan@mellanox.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 Tue, Oct 31, 2017 at 06:21:31PM +0000, Matan Azrad wrote: > Optimize single segment case by processing it in different block which > prevents checks, calculations and barriers relevant only for multi > segment case. > > Call a dedicated function for handling multi segments case. > > Signed-off-by: Matan Azrad > Signed-off-by: Ophir Munk One remaining comment below, besides that: Acked-by: Adrien Mazarguil > --- > drivers/net/mlx4/mlx4_rxtx.c | 236 +++++++++++++++++++++++++++---------------- > 1 file changed, 151 insertions(+), 85 deletions(-) > > diff --git a/drivers/net/mlx4/mlx4_rxtx.c b/drivers/net/mlx4/mlx4_rxtx.c > + /* Write the first DWORD of each TXBB save earlier. */ > + if (pv_counter) { > + /* Need a barrier here before writing the byte_count. */ > + rte_io_wmb(); > + for (--pv_counter; pv_counter >= 0; pv_counter--) > + pv[pv_counter].dseg->byte_count = pv[pv_counter].val; > + } > + /* Fill the control parameters for this packet. */ > + ctrl->fence_size = (wqe_real_size >> 4) & 0x3f; > + return nr_txbbs; > +} Missing empty line here. > /** > * DPDK callback for Tx. > * > @@ -261,10 +374,11 @@ struct pv { > unsigned int i; > unsigned int max; > struct mlx4_sq *sq = &txq->msq; > - struct pv *pv = (struct pv *)txq->bounce_buf; > + int nr_txbbs; -- Adrien Mazarguil 6WIND