From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dispatch1-us1.ppe-hosted.com (dispatch1-us1.ppe-hosted.com [148.163.129.52]) by dpdk.org (Postfix) with ESMTP id 5198F7CBD for ; Wed, 13 Sep 2017 11:31:23 +0200 (CEST) Received: from pure.maildistiller.com (dispatch1.mdlocal [10.7.20.164]) by dispatch1-us1.ppe-hosted.com (Proofpoint Essentials ESMTP Server) with ESMTP id 4DB8660065; Wed, 13 Sep 2017 09:31:23 +0000 (UTC) X-Virus-Scanned: Proofpoint Essentials engine Received: from mx4-us4.ppe-hosted.com (filterqueue.mdlocal [10.7.20.246]) by pure.maildistiller.com (Proofpoint Essentials ESMTP Server) with ESMTPS id D59C61C0049; Wed, 13 Sep 2017 09:31:22 +0000 (UTC) Received: from webmail.solarflare.com (uk.solarflare.com [193.34.186.16]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx4-us4.ppe-hosted.com (Proofpoint Essentials ESMTP Server) with ESMTPS id 92E35B80058; Wed, 13 Sep 2017 09:31:22 +0000 (UTC) Received: from [192.168.38.17] (84.52.114.114) by ukex01.SolarFlarecom.com (10.17.10.4) with Microsoft SMTP Server (TLS) id 15.0.1044.25; Wed, 13 Sep 2017 10:31:18 +0100 To: Ferruh Yigit , CC: Ivan Malov References: <1504880151-15394-1-git-send-email-arybchenko@solarflare.com> <84511c11-3e8d-e60e-f4a3-e6187f9e21d9@intel.com> From: Andrew Rybchenko Message-ID: Date: Wed, 13 Sep 2017 12:31:13 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0 MIME-Version: 1.0 In-Reply-To: <84511c11-3e8d-e60e-f4a3-e6187f9e21d9@intel.com> Content-Language: en-GB X-Originating-IP: [84.52.114.114] X-ClientProxiedBy: ocex03.SolarFlarecom.com (10.20.40.36) To ukex01.SolarFlarecom.com (10.17.10.4) X-TM-AS-Product-Ver: SMEX-11.0.0.1191-8.100.1062-23326.003 X-TM-AS-Result: No--16.545000-0.000000-31 X-TM-AS-User-Approved-Sender: Yes X-TM-AS-User-Blocked-Sender: No X-MDID: 1505295083-mH-KrKl5kKMw Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit X-Content-Filtered-By: Mailman/MimeDel 2.1.15 Subject: Re: [dpdk-dev] [PATCH 1/2] net/sfc: free mbufs in bulks on EF10 native Tx datapath reap 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: , X-List-Received-Date: Wed, 13 Sep 2017 09:31:24 -0000 On 09/12/2017 09:26 PM, Ferruh Yigit wrote: > On 9/8/2017 3:15 PM, Andrew Rybchenko wrote: >> From: Ivan Malov >> >> Signed-off-by: Ivan Malov >> Signed-off-by: Andrew Rybchenko >> --- >> drivers/net/sfc/sfc_ef10_tx.c | 48 ++++++++++++++++++++++++++++++++++++------- >> drivers/net/sfc/sfc_tweak.h | 3 +++ >> 2 files changed, 44 insertions(+), 7 deletions(-) >> >> diff --git a/drivers/net/sfc/sfc_ef10_tx.c b/drivers/net/sfc/sfc_ef10_tx.c >> index 182fc23..5127a7a 100644 >> --- a/drivers/net/sfc/sfc_ef10_tx.c >> +++ b/drivers/net/sfc/sfc_ef10_tx.c >> @@ -158,17 +158,35 @@ struct sfc_ef10_txq { >> pending += sfc_ef10_tx_process_events(txq); >> >> if (pending != completed) { >> + struct rte_mbuf *bulk[SFC_TX_REAP_BULK_SIZE]; >> + unsigned int nb = 0; >> + >> do { >> struct sfc_ef10_tx_sw_desc *txd; >> + struct rte_mbuf *m; >> >> txd = &txq->sw_ring[completed & ptr_mask]; >> + if (txd->mbuf == NULL) >> + continue; >> >> - if (txd->mbuf != NULL) { >> - rte_pktmbuf_free(txd->mbuf); >> - txd->mbuf = NULL; >> + m = rte_pktmbuf_prefree_seg(txd->mbuf); >> + txd->mbuf = NULL; >> + if (m == NULL) >> + continue; >> + >> + if ((nb == RTE_DIM(bulk)) || >> + ((nb != 0) && (m->pool != bulk[0]->pool))) { > ICC is giving warning [1] here, as far as I can see this is false > positive but can you please double check in case I am missing something? Yes, I think it is false positive. > And unless if you don't see a way to convince icc without effecting > performance, would you mind updating patch to ignore warning [2] ? Thanks, done. > > > [1] > error #3656: variable "bulk" may be used before its value is set > > [2] > diff --git a/drivers/net/sfc/Makefile b/drivers/net/sfc/Makefile > index 57aa963ba..359314809 100644 > --- a/drivers/net/sfc/Makefile > +++ b/drivers/net/sfc/Makefile > @@ -65,6 +65,7 @@ CFLAGS += -Wbad-function-cast > CFLAGS_BASE_DRIVER += -Wno-empty-body > else ifeq ($(CONFIG_RTE_TOOLCHAIN_ICC),y) > CFLAGS_BASE_DRIVER += -Wno-unused-but-set-variable > +CFLAGS_sfc_ef10_tx.o += -wd3656 > endif > > # <...>