From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by dpdk.org (Postfix) with ESMTP id 5DE4D58EC for ; Fri, 10 Feb 2017 11:25:26 +0100 (CET) Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga105.jf.intel.com with ESMTP; 10 Feb 2017 02:25:24 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.35,140,1484035200"; d="scan'208";a="223653811" Received: from fyigit-mobl1.ger.corp.intel.com (HELO [10.237.220.137]) ([10.237.220.137]) by fmsmga004.fm.intel.com with ESMTP; 10 Feb 2017 02:25:24 -0800 To: Qiming Yang , dev@dpdk.org References: <1486689994-37746-1-git-send-email-qiming.yang@intel.com> Cc: jingjing.wu@intel.com From: Ferruh Yigit Message-ID: <0425f979-8198-4cc8-f70b-f1c9a037fd7f@intel.com> Date: Fri, 10 Feb 2017 10:25:23 +0000 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.7.1 MIME-Version: 1.0 In-Reply-To: <1486689994-37746-1-git-send-email-qiming.yang@intel.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 8bit Subject: Re: [dpdk-dev] [PATCH] net/i40e: fix vlan insert code redundance 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: Fri, 10 Feb 2017 10:25:26 -0000 On 2/10/2017 1:26 AM, Qiming Yang wrote: > This patch removed useless tx_flags in vlan insertion. Overall this looks good, I wonder what was the initial intention of this code, understanding it helps to figure out if there is a hidden defect. This code not fixes a defect, but improves the code, is there any performance gain with this? If not, I am for deferring this to next release. > > Fixes: 4861cde46116 ("i40e: new poll mode driver") > > Signed-off-by: Qiming Yang > --- > drivers/net/i40e/i40e_rxtx.c | 8 +------- > drivers/net/i40e/i40e_rxtx.h | 2 -- > 2 files changed, 1 insertion(+), 9 deletions(-) > > diff --git a/drivers/net/i40e/i40e_rxtx.c b/drivers/net/i40e/i40e_rxtx.c > index 608685f..b91cd70 100644 > --- a/drivers/net/i40e/i40e_rxtx.c > +++ b/drivers/net/i40e/i40e_rxtx.c > @@ -1026,7 +1026,6 @@ i40e_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts) > uint16_t nb_tx; > uint32_t td_cmd; > uint32_t td_offset; > - uint32_t tx_flags; > uint32_t td_tag; > uint64_t ol_flags; > uint16_t nb_used; > @@ -1050,7 +1049,6 @@ i40e_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts) > td_cmd = 0; > td_tag = 0; > td_offset = 0; > - tx_flags = 0; > > tx_pkt = *tx_pkts++; > RTE_MBUF_PREFETCH_TO_FREE(txe->mbuf); > @@ -1097,12 +1095,8 @@ i40e_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts) > > /* Descriptor based VLAN insertion */ > if (ol_flags & (PKT_TX_VLAN_PKT | PKT_TX_QINQ_PKT)) { > - tx_flags |= tx_pkt->vlan_tci << > - I40E_TX_FLAG_L2TAG1_SHIFT; > - tx_flags |= I40E_TX_FLAG_INSERT_VLAN; The I40E_TX_FLAG_INSERT_VLAN flag also seems used only here, and can be removed. Also I40E_TX_FLAG_CSUM and I40E_TX_FLAG_TSYN seems not used at all, understanding why they are introduced at first place can be useful. > td_cmd |= I40E_TX_DESC_CMD_IL2TAG1; > - td_tag = (tx_flags & I40E_TX_FLAG_L2TAG1_MASK) >> > - I40E_TX_FLAG_L2TAG1_SHIFT; > + td_tag = tx_pkt->vlan_tci; > } > > /* Always enable CRC offload insertion */ > diff --git a/drivers/net/i40e/i40e_rxtx.h b/drivers/net/i40e/i40e_rxtx.h > index 9df8a56..3d4abdc 100644 > --- a/drivers/net/i40e/i40e_rxtx.h > +++ b/drivers/net/i40e/i40e_rxtx.h > @@ -38,8 +38,6 @@ > * 32 bits tx flags, high 16 bits for L2TAG1 (VLAN), > * low 16 bits for others. > */ > -#define I40E_TX_FLAG_L2TAG1_SHIFT 16 > -#define I40E_TX_FLAG_L2TAG1_MASK 0xffff0000 > #define I40E_TX_FLAG_CSUM ((uint32_t)(1 << 0)) > #define I40E_TX_FLAG_INSERT_VLAN ((uint32_t)(1 << 1)) > #define I40E_TX_FLAG_TSYN ((uint32_t)(1 << 2)) >