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 A9D2FA04EF for ; Mon, 1 Jun 2020 10:50:27 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 65C461C1E5; Mon, 1 Jun 2020 10:50:27 +0200 (CEST) Received: from huawei.com (szxga04-in.huawei.com [45.249.212.190]) by dpdk.org (Postfix) with ESMTP id 693F61C1E5 for ; Mon, 1 Jun 2020 10:50:25 +0200 (CEST) Received: from DGGEMS401-HUB.china.huawei.com (unknown [172.30.72.59]) by Forcepoint Email with ESMTP id 0927A9A9DEEC3363326F for ; Mon, 1 Jun 2020 16:50:24 +0800 (CST) Received: from localhost.localdomain (10.69.192.56) by DGGEMS401-HUB.china.huawei.com (10.3.19.201) with Microsoft SMTP Server id 14.3.487.0; Mon, 1 Jun 2020 16:50:17 +0800 From: "Wei Hu (Xavier)" To: CC: , Date: Mon, 1 Jun 2020 16:48:52 +0800 Message-ID: <1591001336-6162-2-git-send-email-xavier.huwei@huawei.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1591001336-6162-1-git-send-email-xavier.huwei@huawei.com> References: <1591001336-6162-1-git-send-email-xavier.huwei@huawei.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [10.69.192.56] X-CFilter-Loop: Reflected Subject: [dpdk-stable] [PATCH 19.11 1/5] net/hns3: remove unnecessary assignment X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Sender: "stable" [ upstream commit 1757d7ff0359460d8c6950d5a63168339cce9a16 ] This patch removes the unnecessary assignment in the '.tx_pkt_burst' ops implementation function to avoid performance loss. Signed-off-by: Wei Hu (Xavier) Signed-off-by: Yisen Zhuang --- drivers/net/hns3/hns3_rxtx.c | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/drivers/net/hns3/hns3_rxtx.c b/drivers/net/hns3/hns3_rxtx.c index a0fcb4c..44e883e 100644 --- a/drivers/net/hns3/hns3_rxtx.c +++ b/drivers/net/hns3/hns3_rxtx.c @@ -1686,8 +1686,7 @@ hns3_tx_free_useless_buffer(struct hns3_tx_queue *txq) (tx_next_use != tx_next_clean || tx_bd_ready < tx_bd_max)) { mbuf = tx_bak_pkt->mbuf; if (mbuf) { - mbuf->next = NULL; - rte_pktmbuf_free(mbuf); + rte_pktmbuf_free_seg(mbuf); tx_bak_pkt->mbuf = NULL; } @@ -2105,9 +2104,7 @@ hns3_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts) struct rte_mbuf *new_pkt; struct rte_mbuf *tx_pkt; struct rte_mbuf *m_seg; - struct rte_mbuf *temp; uint32_t nb_hold = 0; - uint16_t tx_next_clean; uint16_t tx_next_use; uint16_t tx_bd_ready; uint16_t tx_pkt_num; @@ -2122,11 +2119,8 @@ hns3_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts) if (tx_bd_ready == 0) return 0; - tx_next_clean = txq->next_to_clean; tx_next_use = txq->next_to_use; tx_bd_max = txq->nb_tx_desc; - tx_bak_pkt = &txq->sw_ring[tx_next_clean]; - tx_pkt_num = (tx_bd_ready < nb_pkts) ? tx_bd_ready : nb_pkts; /* send packets */ @@ -2181,9 +2175,8 @@ hns3_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts) i = 0; do { fill_desc(txq, tx_next_use, m_seg, (i == 0), 0); - temp = m_seg->next; tx_bak_pkt->mbuf = m_seg; - m_seg = temp; + m_seg = m_seg->next; tx_next_use++; tx_bak_pkt++; if (tx_next_use >= tx_bd_max) { @@ -2202,7 +2195,6 @@ hns3_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts) if (likely(nb_tx)) { hns3_queue_xmit(txq, nb_hold); - txq->next_to_clean = tx_next_clean; txq->tx_bd_ready = tx_bd_ready - nb_hold; } -- 2.7.4