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 72950A04F3 for ; Thu, 19 Dec 2019 15:35:20 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 67AED1BF73; Thu, 19 Dec 2019 15:35:20 +0100 (CET) Received: from mail-wr1-f66.google.com (mail-wr1-f66.google.com [209.85.221.66]) by dpdk.org (Postfix) with ESMTP id D8B3C1BF73 for ; Thu, 19 Dec 2019 15:35:19 +0100 (CET) Received: by mail-wr1-f66.google.com with SMTP id y17so6228448wrh.5 for ; Thu, 19 Dec 2019 06:35:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=bb8GJkXpXkGFYYOlXmiJsZy1DVVNs/iCM8uQVvHQJn4=; b=GMFxUj9R8vhzYLBt1Z7vzXNJl5hpgo6IJcoGMCzoS40yjDRr+9jEvjkwA3DI3H+7fF oeKNbw/V4gzemuQL8EsE48p3AaeHpTcoyNueBzgDm+K9Yi3rq63v/+1BbYa+skLE+CmH SEzLxOyOcHYSHLNHcT1QIGVSVnfalu9ZHufENm8Djz/iqfJi+g/iWVh1xhr0bcmcw2vU Tf1/5h/vp0/gNrG923JBfSHKjfU32OnvxGc9KExgv3cfcxDA6rDZdbGM1UZipBNydPzU hPFTNt1MLQ4rPBIPr0wzq9ipyVvgal9gc/59G17LvVuTgYG6QvCHrGIHZuZ/PIKi5yON eU0w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=bb8GJkXpXkGFYYOlXmiJsZy1DVVNs/iCM8uQVvHQJn4=; b=epR3ZpXSMkoIAQ/LrXxlbpO+5gR0aShZwY/04OWD85FJsVgPcw4rb3mrhR4c5iaL1H 2LoNRsc1WoTg3rOAVrGZKELI9BpWqTBJrzL16QPFVPHuY5TXE9acJCt5iB2Y9Vbhv9M8 ruG7Hl1Hcc3ZMv0Ln2FqWRBc1/fmvSIwgH4bgXi3VBRGS0r5GShS5VDORIHjisN9KovY yP4JfQR3ggPmhq5E2fCPgymNc1kKCuL637jE64ehyIc35G+EIfqBihDBn0M6cUKjm3I2 yioiag2EgC+9lVDHoEBJSLYjNO6L4iwmngR34eqyBSxdRH5befqgbk8P9Detwg0Lnx+n EZlg== X-Gm-Message-State: APjAAAUBrvoCDUuhGDWN/2LOd7czxFz1k+USNoVtcI5V4P5gkAGICEa/ AHEjzr7WSorJouiD9sNu/Xo= X-Google-Smtp-Source: APXvYqzZpu4EwTp71feeSBfIV5NRZcHh2bJOQGg8LQmSK7yKlskf9nwiLnRT/R2UwA7LZ+GTPMJJ0g== X-Received: by 2002:adf:e3cd:: with SMTP id k13mr9268853wrm.338.1576766119585; Thu, 19 Dec 2019 06:35:19 -0800 (PST) Received: from localhost ([88.98.246.218]) by smtp.gmail.com with ESMTPSA id 4sm6012411wmg.22.2019.12.19.06.35.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 19 Dec 2019 06:35:19 -0800 (PST) From: luca.boccassi@gmail.com To: Ruifeng Wang Cc: Gavin Hu , dpdk stable Date: Thu, 19 Dec 2019 14:32:36 +0000 Message-Id: <20191219143447.21506-9-luca.boccassi@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191219143447.21506-1-luca.boccassi@gmail.com> References: <20191219143447.21506-1-luca.boccassi@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-stable] patch 'net/ixgbe: remove memory barrier from NEON Rx' has been queued to LTS release 17.11.10 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" Hi, FYI, your patch has been queued to LTS release 17.11.10 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 12/21/19. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Thanks. Luca Boccassi --- >From e23673356f2e4f0f4badfc220ee9e39ead1ac9b9 Mon Sep 17 00:00:00 2001 From: Ruifeng Wang Date: Wed, 28 Aug 2019 16:24:53 +0800 Subject: [PATCH] net/ixgbe: remove memory barrier from NEON Rx [ upstream commit 18b7d4eb3dca9e24208c8be59a8972e7f9d7d1cf ] The memory barrier was intended for descriptor data integrity (see comments in [1]). As later NEON loads were implemented and a whole entry is loaded in one-run and atomic, that makes the ordering of partial loading unnecessary. Remove it accordingly. Corrected couple of code comments. In terms of performance, observed slightly higher average throughput in tests with 82599ES NIC. [1] http://patches.dpdk.org/patch/18153/ Fixes: 989a84050542 ("net/ixgbe: fix received packets number for ARM NEON") Signed-off-by: Ruifeng Wang Reviewed-by: Gavin Hu --- drivers/net/ixgbe/ixgbe_rxtx_vec_neon.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/drivers/net/ixgbe/ixgbe_rxtx_vec_neon.c b/drivers/net/ixgbe/ixgbe_rxtx_vec_neon.c index 2e87ffa0a0..4d7726f406 100644 --- a/drivers/net/ixgbe/ixgbe_rxtx_vec_neon.c +++ b/drivers/net/ixgbe/ixgbe_rxtx_vec_neon.c @@ -243,13 +243,13 @@ _recv_raw_pkts_vec(struct ixgbe_rx_queue *rxq, struct rte_mbuf **rx_pkts, uint32_t var = 0; uint32_t stat; - /* B.1 load 1 mbuf point */ + /* B.1 load 2 mbuf point */ mbp1 = vld1q_u64((uint64_t *)&sw_ring[pos]); /* B.2 copy 2 mbuf point into rx_pkts */ vst1q_u64((uint64_t *)&rx_pkts[pos], mbp1); - /* B.1 load 1 mbuf point */ + /* B.1 load 2 mbuf point */ mbp2 = vld1q_u64((uint64_t *)&sw_ring[pos + 2]); /* A. load 4 pkts descs */ @@ -257,7 +257,6 @@ _recv_raw_pkts_vec(struct ixgbe_rx_queue *rxq, struct rte_mbuf **rx_pkts, descs[1] = vld1q_u64((uint64_t *)(rxdp + 1)); descs[2] = vld1q_u64((uint64_t *)(rxdp + 2)); descs[3] = vld1q_u64((uint64_t *)(rxdp + 3)); - rte_smp_rmb(); /* B.2 copy 2 mbuf point into rx_pkts */ vst1q_u64((uint64_t *)&rx_pkts[pos + 2], mbp2); -- 2.20.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2019-12-19 14:32:26.686841533 +0000 +++ 0009-net-ixgbe-remove-memory-barrier-from-NEON-Rx.patch 2019-12-19 14:32:25.405283945 +0000 @@ -1,8 +1,10 @@ -From 18b7d4eb3dca9e24208c8be59a8972e7f9d7d1cf Mon Sep 17 00:00:00 2001 +From e23673356f2e4f0f4badfc220ee9e39ead1ac9b9 Mon Sep 17 00:00:00 2001 From: Ruifeng Wang Date: Wed, 28 Aug 2019 16:24:53 +0800 Subject: [PATCH] net/ixgbe: remove memory barrier from NEON Rx +[ upstream commit 18b7d4eb3dca9e24208c8be59a8972e7f9d7d1cf ] + The memory barrier was intended for descriptor data integrity (see comments in [1]). As later NEON loads were implemented and a whole entry is loaded in one-run and atomic, that makes the ordering of @@ -16,7 +18,6 @@ [1] http://patches.dpdk.org/patch/18153/ Fixes: 989a84050542 ("net/ixgbe: fix received packets number for ARM NEON") -Cc: stable@dpdk.org Signed-off-by: Ruifeng Wang Reviewed-by: Gavin Hu @@ -25,10 +26,10 @@ 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/drivers/net/ixgbe/ixgbe_rxtx_vec_neon.c b/drivers/net/ixgbe/ixgbe_rxtx_vec_neon.c -index edb1383543..86fb3afdb7 100644 +index 2e87ffa0a0..4d7726f406 100644 --- a/drivers/net/ixgbe/ixgbe_rxtx_vec_neon.c +++ b/drivers/net/ixgbe/ixgbe_rxtx_vec_neon.c -@@ -214,13 +214,13 @@ _recv_raw_pkts_vec(struct ixgbe_rx_queue *rxq, struct rte_mbuf **rx_pkts, +@@ -243,13 +243,13 @@ _recv_raw_pkts_vec(struct ixgbe_rx_queue *rxq, struct rte_mbuf **rx_pkts, uint32_t var = 0; uint32_t stat; @@ -44,7 +45,7 @@ mbp2 = vld1q_u64((uint64_t *)&sw_ring[pos + 2]); /* A. load 4 pkts descs */ -@@ -228,7 +228,6 @@ _recv_raw_pkts_vec(struct ixgbe_rx_queue *rxq, struct rte_mbuf **rx_pkts, +@@ -257,7 +257,6 @@ _recv_raw_pkts_vec(struct ixgbe_rx_queue *rxq, struct rte_mbuf **rx_pkts, descs[1] = vld1q_u64((uint64_t *)(rxdp + 1)); descs[2] = vld1q_u64((uint64_t *)(rxdp + 2)); descs[3] = vld1q_u64((uint64_t *)(rxdp + 3));