[dpdk-dev] [PATCH] app/testpmd: fix testpmd exit using ctrl+d
Dumitrescu, Cristian
cristian.dumitrescu at intel.com
Tue Jul 24 18:59:28 CEST 2018
> -----Original Message-----
> From: Mordechay Haimovsky [mailto:motih at mellanox.com]
> Sent: Tuesday, July 24, 2018 3:37 PM
> To: Thomas Monjalon <thomas at monjalon.net>; Singh, Jasvinder
> <jasvinder.singh at intel.com>
> Cc: dev at dpdk.org; Iremonger, Bernard <bernard.iremonger at intel.com>;
> Pattan, Reshma <reshma.pattan at intel.com>; olivier.matz at 6wind.com;
> Dumitrescu, Cristian <cristian.dumitrescu at intel.com>
> Subject: RE: [dpdk-dev] [PATCH] app/testpmd: fix testpmd exit using ctrl+d
>
> Even after this fix we still have setups that use netvsc for example, on
> which testpmd exits with rte_panic right after loading it even without
> touching the KBD.
>
> I recommend returning the previous prompt routine in test-pmd/cmdline.c
> and rework the SOFTNIC section there, preferably moving its poll section to
> use rte_service in a separate file cleaning the CLI files from PMD-specific
> implementation.
>
> > -----Original Message-----
> > From: Thomas Monjalon [mailto:thomas at monjalon.net]
> > Sent: Tuesday, July 24, 2018 3:34 PM
> > To: Jasvinder Singh <jasvinder.singh at intel.com>
> > Cc: dev at dpdk.org; bernard.iremonger at intel.com;
> > reshma.pattan at intel.com; Mordechay Haimovsky
> <motih at mellanox.com>;
> > olivier.matz at 6wind.com; cristian.dumitrescu at intel.com
> > Subject: Re: [dpdk-dev] [PATCH] app/testpmd: fix testpmd exit using ctrl+d
> >
> > Important note:
> > testpmd is currently really broken.
> > We cannot have a RC2 until it is fixed.
> >
> >
> > 24/07/2018 13:25, Thomas Monjalon:
> > > 23/07/2018 12:44, Jasvinder Singh:
> > > > Fix testpmd app exit by pressing ctrl+d, End-of-Transmission
> > > > character (EOT) on the empty command line.
> > >
> > > Please describe what is the issue and what is the cause.
> > >
> > > > Fixes: 0ad778b398c6 ("app/testpmd: rework softnic forward mode")
> > > >
> > > > Reported-by: Mordechay Haimovsky <motih at mellanox.com>
> > > > Signed-off-by: Jasvinder Singh <jasvinder.singh at intel.com>
> > > > ---
> > > > app/test-pmd/cmdline.c | 10 ++++++----
> > > > lib/librte_cmdline/cmdline.c | 2 +-
> > >
> > > It is very suspicious to change the cmdline library.
> > > If there is a bug in this library, it deserves a separate fix.
> >
> >
First, testpmd is not really broken, as only thing that changed is the Ctrl + D behavior. I agree this is an issue that we need to fix, as it looks that it is breaking some automation scripts for some people.
The change in behavior for Ctrl + D exit is caused by replacing the call to cmdline_interact() with calling cmdline_poll() in a loop. These two approaches should be identical in behavior, but it looks like they are not due to some issue in the cmdline library. Jasvinder proposed a quick patch, but it looks like something else needs to be fixed in cmdline library in order to bring cmdline_poll() on parity with cmdline_interact(). Any advice from Olivier would be very much appreciated!
It is really a bad practice to use cmdline_interact() in testpmd, as it is a blocking call that prohibits doing other things on the same thread that runs the CLI. Sometimes we need to run other things on the same core, e.g. the slow softnic_manage() function.
Worst case scenario: We can revert the cmdline_poll() back to cmdline_interact(), this is a small change, but not the proper way of doing things, as this is simply hiding the issue in cmdline library. It would also prevent us from testing some Soft NIC functionality.
More information about the dev
mailing list