DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH] app/test-pmd: stop all ports before any close
@ 2019-01-03 16:37 Cristian Dumitrescu
  2019-01-04 10:16 ` Iremonger, Bernard
  0 siblings, 1 reply; 3+ messages in thread
From: Cristian Dumitrescu @ 2019-01-03 16:37 UTC (permalink / raw)
  To: dev; +Cc: wenzhuo.lu, jingjing.wu, bernard.iremonger

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 stoping 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.

Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@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 8d584b008..15a948828 100644
--- a/app/test-pmd/testpmd.c
+++ b/app/test-pmd/testpmd.c
@@ -2391,9 +2391,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.17.1

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [dpdk-dev] [PATCH] app/test-pmd: stop all ports before any close
  2019-01-03 16:37 [dpdk-dev] [PATCH] app/test-pmd: stop all ports before any close Cristian Dumitrescu
@ 2019-01-04 10:16 ` Iremonger, Bernard
  2019-01-04 11:17   ` Dumitrescu, Cristian
  0 siblings, 1 reply; 3+ messages in thread
From: Iremonger, Bernard @ 2019-01-04 10:16 UTC (permalink / raw)
  To: Dumitrescu, Cristian, dev; +Cc: Lu, Wenzhuo, Wu, Jingjing

Hi Cristian,

> -----Original Message-----
> From: Dumitrescu, Cristian
> Sent: Thursday, January 3, 2019 4:37 PM
> To: dev@dpdk.org
> Cc: Lu, Wenzhuo <wenzhuo.lu@intel.com>; Wu, Jingjing
> <jingjing.wu@intel.com>; Iremonger, Bernard <bernard.iremonger@intel.com>
> Subject: [PATCH] app/test-pmd: stop all ports before any close

./devtools/check-git-log.sh -1
Wrong headline label:
        app/test-pmd: stop all ports before any close

Should be app/testpmd

The commit message should also have the "fix" keyword

> 
> 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 stoping 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.

There should be a fixes line before the sign-off, and maybe a " Cc: stable@dpdk.org" line
 
> Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@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
> 8d584b008..15a948828 100644
> --- a/app/test-pmd/testpmd.c
> +++ b/app/test-pmd/testpmd.c
> @@ -2391,9 +2391,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.17.1

Regards,

Bernard.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [dpdk-dev] [PATCH] app/test-pmd: stop all ports before any close
  2019-01-04 10:16 ` Iremonger, Bernard
@ 2019-01-04 11:17   ` Dumitrescu, Cristian
  0 siblings, 0 replies; 3+ messages in thread
From: Dumitrescu, Cristian @ 2019-01-04 11:17 UTC (permalink / raw)
  To: Iremonger, Bernard, dev; +Cc: Lu, Wenzhuo, Wu, Jingjing

Hi Bernard,

Thanks for reviewing this patch.

> -----Original Message-----
> From: Iremonger, Bernard
> Sent: Friday, January 4, 2019 10:16 AM
> To: Dumitrescu, Cristian <cristian.dumitrescu@intel.com>; dev@dpdk.org
> Cc: Lu, Wenzhuo <wenzhuo.lu@intel.com>; Wu, Jingjing
> <jingjing.wu@intel.com>
> Subject: RE: [PATCH] app/test-pmd: stop all ports before any close
> 
> Hi Cristian,
> 
> > -----Original Message-----
> > From: Dumitrescu, Cristian
> > Sent: Thursday, January 3, 2019 4:37 PM
> > To: dev@dpdk.org
> > Cc: Lu, Wenzhuo <wenzhuo.lu@intel.com>; Wu, Jingjing
> > <jingjing.wu@intel.com>; Iremonger, Bernard
> <bernard.iremonger@intel.com>
> > Subject: [PATCH] app/test-pmd: stop all ports before any close
> 
> ./devtools/check-git-log.sh -1
> Wrong headline label:
>         app/test-pmd: stop all ports before any close
> 
> Should be app/testpmd

Will fix.

> 
> The commit message should also have the "fix" keyword
> 

We can treat this as a fix or as an improvement, I was not sure about what people think. I don't mind either way. Will treat this as a fix then in v2.

> >
> > 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 stoping 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.
> 
> There should be a fixes line before the sign-off, and maybe a " Cc:
> stable@dpdk.org" line
> 
> > Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@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
> > 8d584b008..15a948828 100644
> > --- a/app/test-pmd/testpmd.c
> > +++ b/app/test-pmd/testpmd.c
> > @@ -2391,9 +2391,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.17.1
> 
> Regards,
> 
> Bernard.

Regards,
Cristian

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2019-01-04 11:17 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-01-03 16:37 [dpdk-dev] [PATCH] app/test-pmd: stop all ports before any close Cristian Dumitrescu
2019-01-04 10:16 ` Iremonger, Bernard
2019-01-04 11:17   ` Dumitrescu, Cristian

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).