[dpdk-stable] patch 'app/testpmd: fix quit to stop all ports before close' has been queued to LTS release 17.11.6

Yongseok Koh yskoh at mellanox.com
Fri Mar 8 18:47:17 CET 2019


Hi,

FYI, your patch has been queued to LTS release 17.11.6

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 03/13/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Yongseok

---
>From bd17e67a250440429cf289513c2fa048f3bd47a7 Mon Sep 17 00:00:00 2001
From: Cristian Dumitrescu <cristian.dumitrescu at intel.com>
Date: Fri, 4 Jan 2019 12:28:33 +0000
Subject: [PATCH] app/testpmd: fix quit to stop all ports before close

[ upstream commit 08fd782b8454ab9019290d35f4e5334b4235923e ]

This patch proposes a slightly different test-pmd quit operation: stop
all devices before starting to close any device. Basically, stop all
moving parts before beginning to remove them. The current test-pmd quit
is stopping and closing each device before moving to the next device.

If all devices in the system are independent of each other, this
difference is usually not important. In case of Soft NIC devices, any
such virtual device typically depends on one or more physical devices
being alive, as it accesses their queues, so this difference becomes
important.

Without this straightforward fix, all the Soft NIC devices need to be
manually stopped before the quit command is issued, otherwise the quit
command can sometimes crash the test-pmd application.

Fixes: d3a274ce9dee ("app/testpmd: handle SIGINT and SIGTERM")

Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu at intel.com>
Acked-by: Bernard Iremonger <bernard.iremonger at intel.com>
---
 app/test-pmd/testpmd.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c
index 0adebddc8..2d9ca04df 100644
--- a/app/test-pmd/testpmd.c
+++ b/app/test-pmd/testpmd.c
@@ -1965,9 +1965,13 @@ pmd_test_exit(void)
 	if (ports != NULL) {
 		no_link_check = 1;
 		RTE_ETH_FOREACH_DEV(pt_id) {
-			printf("\nShutting down port %d...\n", pt_id);
+			printf("\nStopping port %d...\n", pt_id);
 			fflush(stdout);
 			stop_port(pt_id);
+		}
+		RTE_ETH_FOREACH_DEV(pt_id) {
+			printf("\nShutting down port %d...\n", pt_id);
+			fflush(stdout);
 			close_port(pt_id);
 		}
 	}
-- 
2.11.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-03-08 09:46:42.206967683 -0800
+++ 0039-app-testpmd-fix-quit-to-stop-all-ports-before-close.patch	2019-03-08 09:46:40.183400000 -0800
@@ -1,8 +1,10 @@
-From 08fd782b8454ab9019290d35f4e5334b4235923e Mon Sep 17 00:00:00 2001
+From bd17e67a250440429cf289513c2fa048f3bd47a7 Mon Sep 17 00:00:00 2001
 From: Cristian Dumitrescu <cristian.dumitrescu at intel.com>
 Date: Fri, 4 Jan 2019 12:28:33 +0000
 Subject: [PATCH] app/testpmd: fix quit to stop all ports before close
 
+[ upstream commit 08fd782b8454ab9019290d35f4e5334b4235923e ]
+
 This patch proposes a slightly different test-pmd quit operation: stop
 all devices before starting to close any device. Basically, stop all
 moving parts before beginning to remove them. The current test-pmd quit
@@ -19,7 +21,6 @@
 command can sometimes crash the test-pmd application.
 
 Fixes: d3a274ce9dee ("app/testpmd: handle SIGINT and SIGTERM")
-Cc: stable at dpdk.org
 
 Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu at intel.com>
 Acked-by: Bernard Iremonger <bernard.iremonger at intel.com>
@@ -28,10 +29,10 @@
  1 file changed, 5 insertions(+), 1 deletion(-)
 
 diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c
-index 8d584b008..15a948828 100644
+index 0adebddc8..2d9ca04df 100644
 --- a/app/test-pmd/testpmd.c
 +++ b/app/test-pmd/testpmd.c
-@@ -2391,9 +2391,13 @@ pmd_test_exit(void)
+@@ -1965,9 +1965,13 @@ pmd_test_exit(void)
  	if (ports != NULL) {
  		no_link_check = 1;
  		RTE_ETH_FOREACH_DEV(pt_id) {
@@ -44,8 +45,8 @@
 +			printf("\nShutting down port %d...\n", pt_id);
 +			fflush(stdout);
  			close_port(pt_id);
- 
- 			/*
+ 		}
+ 	}
 -- 
 2.11.0
 


More information about the stable mailing list