patches for DPDK stable branches
 help / color / mirror / Atom feed
From: Kevin Traynor <ktraynor@redhat.com>
To: Shahed Shaikh <shshaikh@marvell.com>
Cc: Rasesh Mody <rmody@marvell.com>, dpdk stable <stable@dpdk.org>
Subject: [dpdk-stable] patch 'net/bnx2x: fix supported max Rx/Tx descriptor count' has been queued to LTS release 18.11.3
Date: Mon, 24 Jun 2019 16:24:48 +0100	[thread overview]
Message-ID: <20190624152525.19349-24-ktraynor@redhat.com> (raw)
In-Reply-To: <20190624152525.19349-1-ktraynor@redhat.com>

Hi,

FYI, your patch has been queued to LTS release 18.11.3

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 06/27/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.

Queued patches are on a temporary branch at:
https://github.com/kevintraynor/dpdk-stable-queue

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/539aba06f66109a67576a280c559cce46f5a3e38

Thanks.

Kevin Traynor

---
From 539aba06f66109a67576a280c559cce46f5a3e38 Mon Sep 17 00:00:00 2001
From: Shahed Shaikh <shshaikh@marvell.com>
Date: Tue, 4 Jun 2019 11:53:52 -0700
Subject: [PATCH] net/bnx2x: fix supported max Rx/Tx descriptor count

[ upstream commit 65a45ecc76bbca1c167bd034d85827666084d83a ]

Driver does not provide limit on number Rx and Tx descriptors per queue,
this may result in application configuring 64k descriptors (default set
by rte_eth_dev_info_get()) and further result in issues in PMD and HW
flows due to unsupported number.

Fixes: 540a211084a7 ("bnx2x: driver core")

Signed-off-by: Shahed Shaikh <shshaikh@marvell.com>
Acked-by: Rasesh Mody <rmody@marvell.com>
---
 drivers/net/bnx2x/bnx2x.h        | 10 ++++++++--
 drivers/net/bnx2x/bnx2x_ethdev.c |  5 +++++
 2 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/drivers/net/bnx2x/bnx2x.h b/drivers/net/bnx2x/bnx2x.h
index ef1688ff3..ceaecb031 100644
--- a/drivers/net/bnx2x/bnx2x.h
+++ b/drivers/net/bnx2x/bnx2x.h
@@ -156,4 +156,5 @@ struct bnx2x_device_type {
  */
 /* NUM_TX_PAGES must be a power of 2. */
+#define NUM_TX_PAGES		 16
 #define TOTAL_TX_BD_PER_PAGE     (BNX2X_PAGE_SIZE / sizeof(union eth_tx_bd_types)) /*  256 */
 #define USABLE_TX_BD_PER_PAGE    (TOTAL_TX_BD_PER_PAGE - 1)                      /*  255 */
@@ -162,5 +163,5 @@ struct bnx2x_device_type {
 #define USABLE_TX_BD(q)          (USABLE_TX_BD_PER_PAGE * q->nb_tx_pages)        /*  510 */
 #define MAX_TX_BD(q)             (TOTAL_TX_BD(q) - 1)                            /*  511 */
-
+#define MAX_TX_AVAIL		 (USABLE_TX_BD_PER_PAGE * NUM_TX_PAGES - 2)
 #define NEXT_TX_BD(x)                                                   \
 	((((x) & USABLE_TX_BD_PER_PAGE) ==                              \
@@ -183,5 +184,5 @@ struct bnx2x_device_type {
  * Receive Buffer Descriptor (rx_bd) definitions*
  */
-//#define NUM_RX_PAGES            1
+#define MAX_RX_PAGES            8
 #define TOTAL_RX_BD_PER_PAGE    (BNX2X_PAGE_SIZE / sizeof(struct eth_rx_bd))      /*  512 */
 #define USABLE_RX_BD_PER_PAGE   (TOTAL_RX_BD_PER_PAGE - 2)                      /*  510 */
@@ -190,4 +191,5 @@ struct bnx2x_device_type {
 #define USABLE_RX_BD(q)         (USABLE_RX_BD_PER_PAGE * q->nb_rx_pages)        /*  510 */
 #define MAX_RX_BD(q)            (TOTAL_RX_BD(q) - 1)                            /*  511 */
+#define MAX_RX_AVAIL		(USABLE_RX_BD_PER_PAGE * MAX_RX_PAGES - 2)
 #define RX_BD_NEXT_PAGE_DESC_CNT 2
 
@@ -245,4 +247,8 @@ struct bnx2x_device_type {
 	((sc)->dropless_fc ? BD_TH_HI(sc) + 128 : 128)
 
+#define MIN_RX_SIZE_NONTPA_HW	ETH_MIN_RX_CQES_WITHOUT_TPA
+#define MIN_RX_SIZE_NONTPA	(RTE_MAX((uint32_t)MIN_RX_SIZE_NONTPA_HW,\
+					(uint32_t)MIN_RX_AVAIL(sc)))
+
 /*
  * dropless fc calculations for RCQs
diff --git a/drivers/net/bnx2x/bnx2x_ethdev.c b/drivers/net/bnx2x/bnx2x_ethdev.c
index 7c440d33e..fa9d83154 100644
--- a/drivers/net/bnx2x/bnx2x_ethdev.c
+++ b/drivers/net/bnx2x/bnx2x_ethdev.c
@@ -481,4 +481,5 @@ bnx2x_dev_infos_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
 {
 	struct bnx2x_softc *sc = dev->data->dev_private;
+
 	dev_info->max_rx_queues  = sc->max_rx_queues;
 	dev_info->max_tx_queues  = sc->max_tx_queues;
@@ -488,4 +489,8 @@ bnx2x_dev_infos_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
 	dev_info->speed_capa = ETH_LINK_SPEED_10G | ETH_LINK_SPEED_20G;
 	dev_info->rx_offload_capa = DEV_RX_OFFLOAD_JUMBO_FRAME;
+
+	dev_info->rx_desc_lim.nb_max = MAX_RX_AVAIL;
+	dev_info->rx_desc_lim.nb_min = MIN_RX_SIZE_NONTPA;
+	dev_info->tx_desc_lim.nb_max = MAX_TX_AVAIL;
 }
 
-- 
2.20.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-06-24 16:18:56.346393889 +0100
+++ 0024-net-bnx2x-fix-supported-max-Rx-Tx-descriptor-count.patch	2019-06-24 16:18:55.035431129 +0100
@@ -1 +1 @@
-From 65a45ecc76bbca1c167bd034d85827666084d83a Mon Sep 17 00:00:00 2001
+From 539aba06f66109a67576a280c559cce46f5a3e38 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 65a45ecc76bbca1c167bd034d85827666084d83a ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -61 +62 @@
-index 7429004de..45c6c363c 100644
+index 7c440d33e..fa9d83154 100644

  parent reply	other threads:[~2019-06-24 15:26 UTC|newest]

Thread overview: 62+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-06-24 15:24 [dpdk-stable] patch 'net/atlantic: remove unnecessary cast' " Kevin Traynor
2019-06-24 15:24 ` [dpdk-stable] patch 'net/ark: " Kevin Traynor
2019-06-24 15:24 ` [dpdk-stable] patch 'net/axgbe: " Kevin Traynor
2019-06-24 15:24 ` [dpdk-stable] patch 'net/bnxt: " Kevin Traynor
2019-06-24 15:24 ` [dpdk-stable] patch 'net/bonding: " Kevin Traynor
2019-06-24 15:24 ` [dpdk-stable] patch 'net/cxgbe: " Kevin Traynor
2019-06-24 15:24 ` [dpdk-stable] patch 'net/e1000: " Kevin Traynor
2019-06-24 15:24 ` [dpdk-stable] patch 'net/ena: " Kevin Traynor
2019-06-24 15:24 ` [dpdk-stable] patch 'net/enic: " Kevin Traynor
2019-06-24 15:24 ` [dpdk-stable] patch 'net/i40e: " Kevin Traynor
2019-06-24 15:24 ` [dpdk-stable] patch 'net/ixgbe: " Kevin Traynor
2019-06-24 15:24 ` [dpdk-stable] patch 'net/mlx5: " Kevin Traynor
2019-06-24 15:24 ` [dpdk-stable] patch 'net/virtio: remove useless check on mempool' " Kevin Traynor
2019-06-24 15:24 ` [dpdk-stable] patch 'net/virtio: fix in-order Rx with segmented packet' " Kevin Traynor
2019-06-24 15:24 ` [dpdk-stable] patch 'net/bnxt: fix endianness in ring macros' " Kevin Traynor
2019-06-24 15:24 ` [dpdk-stable] patch 'net/bnxt: fix ring type macro name' " Kevin Traynor
2019-06-24 15:24 ` [dpdk-stable] patch 'net/bnxt: fix variable width in endian conversion' " Kevin Traynor
2019-06-24 15:24 ` [dpdk-stable] patch 'net/failsafe: fix reported device info' " Kevin Traynor
2019-06-24 15:24 ` [dpdk-stable] patch 'net/ena: fix assigning NUMA node to IO queue' " Kevin Traynor
2019-06-24 15:24 ` [dpdk-stable] patch 'net/bnx2x: fix packet drop' " Kevin Traynor
2019-06-24 15:24 ` [dpdk-stable] patch 'net/bnx2x: fix interrupt flood' " Kevin Traynor
2019-06-24 15:24 ` [dpdk-stable] patch 'net/bnx2x: fix memory leak' " Kevin Traynor
2019-06-24 15:24 ` [dpdk-stable] patch 'net/bnx2x: fix link state' " Kevin Traynor
2019-06-24 15:24 ` Kevin Traynor [this message]
2019-06-24 15:24 ` [dpdk-stable] patch 'ethdev: fix Tx prepare documentation to use positive errno' " Kevin Traynor
2019-06-24 15:24 ` [dpdk-stable] patch 'net/atlantic: fix Tx prepare to set positive rte_errno' " Kevin Traynor
2019-06-24 15:24 ` [dpdk-stable] patch 'net/e1000: " Kevin Traynor
2019-06-24 15:24 ` [dpdk-stable] patch 'net/enic: " Kevin Traynor
2019-06-24 15:24 ` [dpdk-stable] patch 'net/fm10k: " Kevin Traynor
2019-06-24 15:24 ` [dpdk-stable] patch 'net/i40e: " Kevin Traynor
2019-06-24 15:24 ` [dpdk-stable] patch 'net/iavf: " Kevin Traynor
2019-06-24 15:24 ` [dpdk-stable] patch 'net/ixgbe: " Kevin Traynor
2019-06-24 15:24 ` [dpdk-stable] patch 'net/qede: " Kevin Traynor
2019-06-24 15:24 ` [dpdk-stable] patch 'net/vmxnet3: " Kevin Traynor
2019-06-24 15:24 ` [dpdk-stable] patch 'net/enic: remove flow count action support' " Kevin Traynor
2019-06-24 15:25 ` [dpdk-stable] patch 'net/enic: remove flow locks' " Kevin Traynor
2019-06-24 15:25 ` [dpdk-stable] patch 'net/bnxt: check for null completion ring doorbell' " Kevin Traynor
2019-06-25  3:42   ` Somnath Kotur
2019-06-24 15:25 ` [dpdk-stable] patch 'net/bnxt: fix xstats' " Kevin Traynor
2019-06-24 15:25 ` [dpdk-stable] patch 'net/bnxt: fix interrupt vector initialization' " Kevin Traynor
2019-06-24 15:25 ` [dpdk-stable] patch 'net/bnxt: fix icc build' " Kevin Traynor
2019-06-24 15:25 ` [dpdk-stable] patch 'net/ixgbevf: add full link status check option' " Kevin Traynor
2019-06-24 15:25 ` [dpdk-stable] patch 'bus/pci: fix TOCTOU for sysfs access' " Kevin Traynor
2019-06-24 15:25 ` [dpdk-stable] patch 'doc: fix typo in EAL guide' " Kevin Traynor
2019-06-24 15:25 ` [dpdk-stable] patch 'telemetry: fix memory leak' " Kevin Traynor
2019-06-24 15:25 ` [dpdk-stable] patch 'net/sfc/base: enable chained multicast on all EF10 cards' " Kevin Traynor
2019-06-24 15:25 ` [dpdk-stable] patch 'net/sfc/base: fix signed/unsigned mismatch' " Kevin Traynor
2019-06-24 15:25 ` [dpdk-stable] patch 'net/sfc/base: fix shift by more bits than field width' " Kevin Traynor
2019-06-24 15:25 ` [dpdk-stable] patch 'net/netvsc: initialize VF spinlock' " Kevin Traynor
2019-06-24 15:25 ` [dpdk-stable] patch 'net/i40e: fix dropped packets statistics name' " Kevin Traynor
2019-06-24 15:25 ` [dpdk-stable] patch 'net/i40e: remove empty queue stats mapping set devops' " Kevin Traynor
2019-06-24 15:25 ` [dpdk-stable] patch 'net/virtio: fix queue memory leak on error' " Kevin Traynor
2019-06-24 15:25 ` [dpdk-stable] patch 'net/virtio: unmap port IO for legacy device' " Kevin Traynor
2019-06-24 15:25 ` [dpdk-stable] patch 'net/virtio: unmap device on initialization error' " Kevin Traynor
2019-06-24 15:25 ` [dpdk-stable] patch 'examples/vdpa: remove trace of legacy linuxapp' " Kevin Traynor
2019-06-24 15:25 ` [dpdk-stable] patch 'net/virtio: add Tx preparation' " Kevin Traynor
2019-06-24 15:25 ` [dpdk-stable] patch 'net/virtio: move VLAN tag insertion to Tx prepare' " Kevin Traynor
2019-06-24 15:25 ` [dpdk-stable] patch 'net/virtio: fix memory leak in in-order Rx' " Kevin Traynor
2019-06-24 15:25 ` [dpdk-stable] patch 'vhost: fix missing include' " Kevin Traynor
2019-06-24 15:25 ` [dpdk-stable] patch 'examples/vhost_crypto: remove unused function' " Kevin Traynor
2019-06-24 15:25 ` [dpdk-stable] patch 'vhost/crypto: fix logically dead code' " Kevin Traynor
2019-06-24 15:25 ` [dpdk-stable] patch 'vhost/crypto: fix inferred misuse of enum' " Kevin Traynor

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190624152525.19349-24-ktraynor@redhat.com \
    --to=ktraynor@redhat.com \
    --cc=rmody@marvell.com \
    --cc=shshaikh@marvell.com \
    --cc=stable@dpdk.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).