[dpdk-stable] patch 'app/testpmd: fix forward lcores number for DCB' has been queued to stable release 20.11.2

Xueming Li xuemingl at nvidia.com
Sat Jun 12 01:02:24 CEST 2021


Hi,

FYI, your patch has been queued to stable release 20.11.2

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/14/21. 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/steevenlee/dpdk

This queued commit can be viewed at:
https://github.com/steevenlee/dpdk/commit/95d258ab144bbbaf5198bd48f8d75f08a4d6dcdf

Thanks.

Xueming Li <xuemingl at nvidia.com>

---
>From 95d258ab144bbbaf5198bd48f8d75f08a4d6dcdf Mon Sep 17 00:00:00 2001
From: Huisong Li <lihuisong at huawei.com>
Date: Wed, 28 Apr 2021 14:40:40 +0800
Subject: [PATCH] app/testpmd: fix forward lcores number for DCB
Cc: Luca Boccassi <bluca at debian.org>

[ upstream commit 9ee7d02ad467c1bd1058a61753a8ef31d2313e41 ]

For the DCB forwarding test, each core is assigned to each traffic class.
Number of forwarding cores for DCB test must be equal or less than number
of total TC. Otherwise, the following problems may occur:
1/ Redundant polling threads will be created when forwarding cores number
   is greater than total TC number.
2/ Two cores would try to use a same queue on a port when Rx/Tx queue
   number is greater than the used TC number, which is not allowed.

Fixes: 900550de04a7 ("app/testpmd: add dcb support")
Fixes: ce8d561418d4 ("app/testpmd: add port configuration settings")

Signed-off-by: Huisong Li <lihuisong at huawei.com>
Signed-off-by: Lijun Ou <oulijun at huawei.com>
Acked-by: Xiaoyun Li <xiaoyun.li at intel.com>
---
 app/test-pmd/config.c | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c
index cb97963157..fc64fcdb86 100644
--- a/app/test-pmd/config.c
+++ b/app/test-pmd/config.c
@@ -3153,6 +3153,21 @@ rss_fwd_config_setup(void)
 	}
 }
 
+static uint16_t
+get_fwd_port_total_tc_num(void)
+{
+	struct rte_eth_dcb_info dcb_info;
+	uint16_t total_tc_num = 0;
+	unsigned int i;
+
+	for (i = 0; i < nb_fwd_ports; i++) {
+		(void)rte_eth_dev_get_dcb_info(fwd_ports_ids[i], &dcb_info);
+		total_tc_num += dcb_info.nb_tcs;
+	}
+
+	return total_tc_num;
+}
+
 /**
  * For the DCB forwarding test, each core is assigned on each traffic class.
  *
@@ -3172,12 +3187,16 @@ dcb_fwd_config_setup(void)
 	lcoreid_t  lc_id;
 	uint16_t nb_rx_queue, nb_tx_queue;
 	uint16_t i, j, k, sm_id = 0;
+	uint16_t total_tc_num;
 	uint8_t tc = 0;
 
 	cur_fwd_config.nb_fwd_lcores = (lcoreid_t) nb_fwd_lcores;
 	cur_fwd_config.nb_fwd_ports = nb_fwd_ports;
 	cur_fwd_config.nb_fwd_streams =
 		(streamid_t) (nb_rxq * cur_fwd_config.nb_fwd_ports);
+	total_tc_num = get_fwd_port_total_tc_num();
+	if (cur_fwd_config.nb_fwd_lcores > total_tc_num)
+		cur_fwd_config.nb_fwd_lcores = total_tc_num;
 
 	/* reinitialize forwarding streams */
 	init_fwd_streams();
-- 
2.25.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-06-12 06:53:57.950805500 +0800
+++ 0050-app-testpmd-fix-forward-lcores-number-for-DCB.patch	2021-06-12 06:53:56.240000000 +0800
@@ -1 +1 @@
-From 9ee7d02ad467c1bd1058a61753a8ef31d2313e41 Mon Sep 17 00:00:00 2001
+From 95d258ab144bbbaf5198bd48f8d75f08a4d6dcdf Mon Sep 17 00:00:00 2001
@@ -4,0 +5,3 @@
+Cc: Luca Boccassi <bluca at debian.org>
+
+[ upstream commit 9ee7d02ad467c1bd1058a61753a8ef31d2313e41 ]
@@ -16 +18,0 @@
-Cc: stable at dpdk.org
@@ -26 +28 @@
-index a4445a73bf..39c0b80a5b 100644
+index cb97963157..fc64fcdb86 100644
@@ -29 +31 @@
-@@ -3008,6 +3008,21 @@ rss_fwd_config_setup(void)
+@@ -3153,6 +3153,21 @@ rss_fwd_config_setup(void)
@@ -51 +53 @@
-@@ -3027,12 +3042,16 @@ dcb_fwd_config_setup(void)
+@@ -3172,12 +3187,16 @@ dcb_fwd_config_setup(void)


More information about the stable mailing list