From 58084e746e7f1d6c8b5d894b0ee6debfcb6bb6a7 Mon Sep 17 00:00:00 2001 From: Christian Ehrhardt Date: Thu, 8 Jun 2017 10:13:20 -0600 Subject: [PATCH] Drop patches that are in 16.11.2 Drop patches that were included in the latest stable release: - debian/patches/kni-fix-build-with-kernel-4.11.patch - debian/patches/nicvf-0002-net-thunderx-fix-32-bit-build.patch - debian/patches/nicvf-0006-mk-fix-lib-filtering-when-linking-app.patch - debian/patches/nicvf-0008-net-thunderx-fix-stats-access-out-of-bounds.patch - debian/patches/nicvf-0010-net-thunderx-fix-deadlock-in-Rx-path.patch Change-Id: Iced4e508c5dd2c41adf7589123e367983de9bb89 Signed-off-by: Christian Ehrhardt --- .../patches/kni-fix-build-with-kernel-4.11.patch | 82 ---------------------- .../nicvf-0002-net-thunderx-fix-32-bit-build.patch | 58 --------------- ...006-mk-fix-lib-filtering-when-linking-app.patch | 71 ------------------- ...t-thunderx-fix-stats-access-out-of-bounds.patch | 67 ------------------ ...0010-net-thunderx-fix-deadlock-in-Rx-path.patch | 58 --------------- debian/patches/series | 5 -- 6 files changed, 341 deletions(-) delete mode 100644 debian/patches/kni-fix-build-with-kernel-4.11.patch delete mode 100644 debian/patches/nicvf-0002-net-thunderx-fix-32-bit-build.patch delete mode 100644 debian/patches/nicvf-0006-mk-fix-lib-filtering-when-linking-app.patch delete mode 100644 debian/patches/nicvf-0008-net-thunderx-fix-stats-access-out-of-bounds.patch delete mode 100644 debian/patches/nicvf-0010-net-thunderx-fix-deadlock-in-Rx-path.patch diff --git a/debian/patches/kni-fix-build-with-kernel-4.11.patch b/debian/patches/kni-fix-build-with-kernel-4.11.patch deleted file mode 100644 index 73dfe51d..00000000 --- a/debian/patches/kni-fix-build-with-kernel-4.11.patch +++ /dev/null @@ -1,82 +0,0 @@ -From d4d2380cbb02980bf0334601d9ce6ec5400413f9 Mon Sep 17 00:00:00 2001 -From: Ferruh Yigit -Date: Tue, 21 Mar 2017 09:54:48 +0000 -Subject: [PATCH] kni: fix build with kernel 4.11 -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -compile error: -.../build/build/lib/librte_eal/linuxapp/kni/kni_net.c:124:6: -error: implicit declaration of function ‘signal_pending’ -[-Werror=implicit-function-declaration] - if (signal_pending(current) || ret_val <= 0) { - ^~~~~~~~~~~~~~ - -Linux 4.11 moves signal function declarations to its own header file: -Linux: 174cd4b1e5fb ("sched/headers: Prepare to move signal wakeup & -sigpending methods from into ") - -Use new header file "linux/sched/signal.h" to fix the build error. - -Cc: stable@dpdk.org - -Reported-by: Jerin Jacob -Signed-off-by: Ferruh Yigit -Tested-by: Jerin Jacob -Tested-by: Pankaj Gupta ---- - lib/librte_eal/linuxapp/kni/compat.h | 6 ++++++ - lib/librte_eal/linuxapp/kni/kni_dev.h | 6 ++++++ - 2 files changed, 12 insertions(+) - -Origin: http://dpdk.org/browse/dpdk/commit/?id=d4d2380cbb02980bf0334601d9ce6ec5400413f9 -Original-Author: Ferruh Yigit -Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/dpdk/+bug/1691830 -Author: Christian Ehrhardt -Last-Update: 2017-05-19 - -diff --git a/lib/librte_eal/linuxapp/kni/compat.h b/lib/librte_eal/linuxapp/kni/compat.h -index 78da08e..d96275a 100644 ---- a/lib/librte_eal/linuxapp/kni/compat.h -+++ b/lib/librte_eal/linuxapp/kni/compat.h -@@ -2,6 +2,8 @@ - * Minimal wrappers to allow compiling kni on older kernels. - */ - -+#include -+ - #ifndef RHEL_RELEASE_VERSION - #define RHEL_RELEASE_VERSION(a, b) (((a) << 8) + (b)) - #endif -@@ -67,3 +69,7 @@ - (LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 34))) - #undef NET_NAME_UNKNOWN - #endif -+ -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0) -+#define HAVE_SIGNAL_FUNCTIONS_OWN_HEADER -+#endif -diff --git a/lib/librte_eal/linuxapp/kni/kni_dev.h b/lib/librte_eal/linuxapp/kni/kni_dev.h -index 002e5fa..72385ab 100644 ---- a/lib/librte_eal/linuxapp/kni/kni_dev.h -+++ b/lib/librte_eal/linuxapp/kni/kni_dev.h -@@ -30,9 +30,15 @@ - #endif - #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt - -+#include "compat.h" -+ - #include - #include -+#ifdef HAVE_SIGNAL_FUNCTIONS_OWN_HEADER -+#include -+#else - #include -+#endif - #include - #include - #include --- -2.7.4 - diff --git a/debian/patches/nicvf-0002-net-thunderx-fix-32-bit-build.patch b/debian/patches/nicvf-0002-net-thunderx-fix-32-bit-build.patch deleted file mode 100644 index f5653d1e..00000000 --- a/debian/patches/nicvf-0002-net-thunderx-fix-32-bit-build.patch +++ /dev/null @@ -1,58 +0,0 @@ -From 6d76fde7dba39769c64bee03b62593cc66a1b0e3 Mon Sep 17 00:00:00 2001 -From: Jerin Jacob -Date: Sun, 19 Mar 2017 20:18:46 +0530 -Subject: [PATCH] net/thunderx: fix 32-bit build - -Fixes: e438796617dc ("net/thunderx: add PMD skeleton") - -Signed-off-by: Jerin Jacob ---- - drivers/net/thunderx/nicvf_struct.h | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -Origin: http://dpdk.org/browse/dpdk/commit/?id=6d76fde7dba39769c64bee03b62593cc66a1b0e3 -Original-Author: Jerin Jacob -Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/dpdk/+bug/1691659 -Author: Christian Ehrhardt -Last-Update: 2017-05-18 - -diff --git a/drivers/net/thunderx/nicvf_struct.h b/drivers/net/thunderx/nicvf_struct.h -index c900e12..5bc6d57 100644 ---- a/drivers/net/thunderx/nicvf_struct.h -+++ b/drivers/net/thunderx/nicvf_struct.h -@@ -43,8 +43,8 @@ - #include - - struct nicvf_rbdr { -- uint64_t rbdr_status; -- uint64_t rbdr_door; -+ uintptr_t rbdr_status; -+ uintptr_t rbdr_door; - struct rbdr_entry_t *desc; - nicvf_phys_addr_t phys; - uint32_t buffsz; -@@ -58,8 +58,8 @@ struct nicvf_txq { - union sq_entry_t *desc; - nicvf_phys_addr_t phys; - struct rte_mbuf **txbuffs; -- uint64_t sq_head; -- uint64_t sq_door; -+ uintptr_t sq_head; -+ uintptr_t sq_door; - struct rte_mempool *pool; - struct nicvf *nic; - void (*pool_free)(struct nicvf_txq *sq); -@@ -74,8 +74,8 @@ struct nicvf_txq { - - struct nicvf_rxq { - uint64_t mbuf_phys_off; -- uint64_t cq_status; -- uint64_t cq_door; -+ uintptr_t cq_status; -+ uintptr_t cq_door; - nicvf_phys_addr_t phys; - union cq_entry_t *desc; - struct nicvf_rbdr *shared_rbdr; --- -2.7.4 - diff --git a/debian/patches/nicvf-0006-mk-fix-lib-filtering-when-linking-app.patch b/debian/patches/nicvf-0006-mk-fix-lib-filtering-when-linking-app.patch deleted file mode 100644 index 50093364..00000000 --- a/debian/patches/nicvf-0006-mk-fix-lib-filtering-when-linking-app.patch +++ /dev/null @@ -1,71 +0,0 @@ -From ab338eb44ebb79840dab1de2742c07070ae3bf0e Mon Sep 17 00:00:00 2001 -From: Olivier Matz -Date: Thu, 6 Apr 2017 16:14:55 +0200 -Subject: [PATCH] mk: fix lib filtering when linking app - -I get the following error when linking the test application: - build/lib/librte_pmd_thunderx_nicvf.a(nicvf_hw.o): - In function `nicvf_qsize_regbit': - drivers/net/thunderx/base/nicvf_hw.c:451: undefined reference to `log2' - build/lib/librte_pmd_thunderx_nicvf.a(nicvf_hw.o): - In function `nicvf_rss_reta_update': - drivers/net/thunderx/base/nicvf_hw.c:804: undefined reference to `log2' - build/lib/librte_pmd_thunderx_nicvf.a(nicvf_hw.o): - In function `nicvf_rss_reta_query': - drivers/net/thunderx/base/nicvf_hw.c:825: undefined reference to `log2' - -While I don't know why it does not happen for a default build, the error -can be explained. The link command line is: - - gcc -o test ... *.o ... -Wl,-lm ... -Wl,-lrte_pmd_thunderx_nicvf ... - -rte_pmd_thunderx_nicvf needs the math library, and it should be -added after. This is not the case because the test application also -adds the math library. - -The makefile already filters the libraries, but it keeps the first -occurrence of the lib. Instead, the last one should be kept. - -Fixes: edf4d331dcdb ("mk: eliminate duplicates from libraries list") -Cc: stable@dpdk.org - -Signed-off-by: Olivier Matz -Acked-by: Thomas Monjalon ---- - mk/rte.app.mk | 19 +++++++++++++++---- - 1 file changed, 15 insertions(+), 4 deletions(-) - -Origin: http://dpdk.org/browse/dpdk/commit/?id=ab338eb44ebb79840dab1de2742c07070ae3bf0e -Original-Author: Olivier Matz -Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/dpdk/+bug/1691659 -Author: Christian Ehrhardt -Last-Update: 2017-05-18 - ---- a/mk/rte.app.mk -+++ b/mk/rte.app.mk -@@ -168,10 +168,21 @@ - - LDLIBS += $(_LDLIBS-y) $(CPU_LDLIBS) $(EXTRA_LDLIBS) - --# Eliminate duplicates without sorting --LDLIBS := $(shell echo $(LDLIBS) | \ -- awk '{for (i = 1; i <= NF; i++) { \ -- if ($$i !~ /^-l.*/ || !seen[$$i]++) print $$i }}') -+# all the words except the first one -+allbutfirst = $(wordlist 2,$(words $(1)),$(1)) -+ -+# Eliminate duplicates without sorting, only keep the last occurrence -+filter-libs = \ -+ $(if $(1),$(strip\ -+ $(if \ -+ $(and \ -+ $(filter $(firstword $(1)),$(call allbutfirst,$(1))),\ -+ $(filter -l%,$(firstword $(1)))),\ -+ ,\ -+ $(firstword $(1))) \ -+ $(call filter-libs,$(call allbutfirst,$(1))))) -+ -+LDLIBS := $(call filter-libs,$(LDLIBS)) - - ifeq ($(RTE_DEVEL_BUILD)$(CONFIG_RTE_BUILD_SHARED_LIB),yy) - LDFLAGS += -rpath=$(RTE_SDK_BIN)/lib diff --git a/debian/patches/nicvf-0008-net-thunderx-fix-stats-access-out-of-bounds.patch b/debian/patches/nicvf-0008-net-thunderx-fix-stats-access-out-of-bounds.patch deleted file mode 100644 index cd26df57..00000000 --- a/debian/patches/nicvf-0008-net-thunderx-fix-stats-access-out-of-bounds.patch +++ /dev/null @@ -1,67 +0,0 @@ -From 695cd416ce6c02d7a20108765573936998b2dbf0 Mon Sep 17 00:00:00 2001 -From: Marcin Wilk -Date: Tue, 11 Apr 2017 14:35:13 +0200 -Subject: [PATCH] net/thunderx: fix stats access out of bounds - -Trying to assign more queues to stats struct break only from one loop -when the maximum size is reached. Outside loop iteration is continued. -This leads to access an array out of bounds. - -Fixes: 21e3fb0050b9 ("net/thunderx: add final bits for secondary queue support") -Cc: stable@dpdk.org - -Signed-off-by: Marcin Wilk -Acked-by: Jerin Jacob ---- - drivers/net/thunderx/nicvf_ethdev.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -Origin: http://dpdk.org/browse/dpdk/commit/?id=695cd416ce6c02d7a20108765573936998b2dbf0 -Original-Author: Marcin Wilk -Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/dpdk/+bug/1691659 -Author: Christian Ehrhardt -Last-Update: 2017-05-18 - -diff --git a/drivers/net/thunderx/nicvf_ethdev.c b/drivers/net/thunderx/nicvf_ethdev.c -index b0b9c3b..36ff94f 100644 ---- a/drivers/net/thunderx/nicvf_ethdev.c -+++ b/drivers/net/thunderx/nicvf_ethdev.c -@@ -258,7 +258,7 @@ nicvf_dev_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats) - - /* Reading per RX ring stats */ - for (qidx = rx_start; qidx <= rx_end; qidx++) { -- if (qidx == RTE_ETHDEV_QUEUE_STAT_CNTRS) -+ if (qidx >= RTE_ETHDEV_QUEUE_STAT_CNTRS) - break; - - nicvf_hw_get_rx_qstats(nic, &rx_qstats, qidx); -@@ -271,7 +271,7 @@ nicvf_dev_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats) - - /* Reading per TX ring stats */ - for (qidx = tx_start; qidx <= tx_end; qidx++) { -- if (qidx == RTE_ETHDEV_QUEUE_STAT_CNTRS) -+ if (qidx >= RTE_ETHDEV_QUEUE_STAT_CNTRS) - break; - - nicvf_hw_get_tx_qstats(nic, &tx_qstats, qidx); -@@ -290,7 +290,7 @@ nicvf_dev_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats) - - /* Reading per RX ring stats */ - for (qidx = rx_start; qidx <= rx_end; qidx++) { -- if (qidx == RTE_ETHDEV_QUEUE_STAT_CNTRS) -+ if (qidx >= RTE_ETHDEV_QUEUE_STAT_CNTRS) - break; - - nicvf_hw_get_rx_qstats(snic, &rx_qstats, -@@ -303,7 +303,7 @@ nicvf_dev_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats) - nicvf_tx_range(dev, snic, &tx_start, &tx_end); - /* Reading per TX ring stats */ - for (qidx = tx_start; qidx <= tx_end; qidx++) { -- if (qidx == RTE_ETHDEV_QUEUE_STAT_CNTRS) -+ if (qidx >= RTE_ETHDEV_QUEUE_STAT_CNTRS) - break; - - nicvf_hw_get_tx_qstats(snic, &tx_qstats, --- -2.7.4 - diff --git a/debian/patches/nicvf-0010-net-thunderx-fix-deadlock-in-Rx-path.patch b/debian/patches/nicvf-0010-net-thunderx-fix-deadlock-in-Rx-path.patch deleted file mode 100644 index 8773671b..00000000 --- a/debian/patches/nicvf-0010-net-thunderx-fix-deadlock-in-Rx-path.patch +++ /dev/null @@ -1,58 +0,0 @@ -From b31eb105463fa1844c19fde382dd6bd294329831 Mon Sep 17 00:00:00 2001 -From: Jerin Jacob -Date: Tue, 2 May 2017 00:11:55 +0530 -Subject: [PATCH] net/thunderx: fix deadlock in Rx path - -RBDR buffers are refilled when SW consumes the buffers from CQ. -This creates deadlock case when CQ buffers exhausted due to lack -of RBDR buffers. Fix is to refill the RBDR when rx_free_thresh -meet, irrespective of the number of CQ buffers consumed. - -Fixes: e2d7fc9f0a24 ("net/thunderx: add single and multi-segment Rx") -Cc: stable@dpdk.org - -Signed-off-by: Jerin Jacob ---- - drivers/net/thunderx/nicvf_rxtx.c | 18 ++++++++---------- - 1 file changed, 8 insertions(+), 10 deletions(-) - -Origin: http://dpdk.org/browse/dpdk/commit/?id=b31eb105463fa1844c19fde382dd6bd294329831 -Original-Author: Jerin Jacob -Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/dpdk/+bug/1691659 -Author: Christian Ehrhardt -Last-Update: 2017-05-18 - ---- a/drivers/net/thunderx/nicvf_rxtx.c -+++ b/drivers/net/thunderx/nicvf_rxtx.c -@@ -469,11 +469,10 @@ - rxq->head = cqe_head; - nicvf_addr_write(rxq->cq_door, to_process); - rxq->recv_buffers += to_process; -- if (rxq->recv_buffers > rxq->rx_free_thresh) { -- rxq->recv_buffers -= nicvf_fill_rbdr(rxq, -- rxq->rx_free_thresh); -- NICVF_RX_ASSERT(rxq->recv_buffers >= 0); -- } -+ } -+ if (rxq->recv_buffers > rxq->rx_free_thresh) { -+ rxq->recv_buffers -= nicvf_fill_rbdr(rxq, rxq->rx_free_thresh); -+ NICVF_RX_ASSERT(rxq->recv_buffers >= 0); - } - - return to_process; -@@ -563,11 +562,10 @@ - rxq->head = cqe_head; - nicvf_addr_write(rxq->cq_door, to_process); - rxq->recv_buffers += buffers_consumed; -- if (rxq->recv_buffers > rxq->rx_free_thresh) { -- rxq->recv_buffers -= -- nicvf_fill_rbdr(rxq, rxq->rx_free_thresh); -- NICVF_RX_ASSERT(rxq->recv_buffers >= 0); -- } -+ } -+ if (rxq->recv_buffers > rxq->rx_free_thresh) { -+ rxq->recv_buffers -= nicvf_fill_rbdr(rxq, rxq->rx_free_thresh); -+ NICVF_RX_ASSERT(rxq->recv_buffers >= 0); - } - - return to_process; diff --git a/debian/patches/series b/debian/patches/series index 878e9259..a104d100 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -3,14 +3,9 @@ fix-power-default-config.patch dpdk-dev-v3-eal-sPAPR-IOMMU-support-in-pci-probing-for-vfio-pci-in-ppc64le.patch dpdk-dev-v4-i40e-implement-vector-PMD-for-altivec.patch nicvf-0001-net-thunderx-check-data-offset-alignment-requirement.patch -nicvf-0002-net-thunderx-fix-32-bit-build.patch nicvf-0003-config-enable-thunderx-nicvf.patch nicvf-0004-net-thunderx-sync-mailbox-definitions-with-Linux-PF-.patch nicvf-0005-net-thunderx-wait-to-complete-during-link-update.patch -nicvf-0006-mk-fix-lib-filtering-when-linking-app.patch nicvf-0007-net-thunderx-disable-PMD-for-old-compilers.patch -nicvf-0008-net-thunderx-fix-stats-access-out-of-bounds.patch nicvf-0009-config-set-cache-line-as-128B-for-generic-arm64.patch -nicvf-0010-net-thunderx-fix-deadlock-in-Rx-path.patch -kni-fix-build-with-kernel-4.11.patch kni-fix-ethtool-build-with-kernel-4.11.patch -- 2.16.6