> -----Original Message-----
> From: Ananyev, Konstantin
> Sent: Wednesday, July 25, 2018 10:04 AM
> To: Dumitrescu, Cristian <cristian.dumitre...@intel.com>; Mordechay
> Haimovsky <mo...@mellanox.com>; Thomas Monjalon
> <tho...@monjalon.net>; Singh, Jasvinder <jasvinder.si...@intel.com>
> Cc: dev@dpdk.org; Iremonger, Bernard <bernard.iremon...@intel.com>;
> Pattan, Reshma <reshma.pat...@intel.com>; olivier.m...@6wind.com
> Subject: RE: [dpdk-dev] [PATCH] app/testpmd: fix testpmd exit using ctrl+d
> 
> 
> 
> > -----Original Message-----
> > From: dev [mailto:dev-boun...@dpdk.org] On Behalf Of Dumitrescu,
> Cristian
> > Sent: Tuesday, July 24, 2018 5:59 PM
> > To: Mordechay Haimovsky <mo...@mellanox.com>; Thomas Monjalon
> <tho...@monjalon.net>; Singh, Jasvinder
> > <jasvinder.si...@intel.com>
> > Cc: dev@dpdk.org; Iremonger, Bernard <bernard.iremon...@intel.com>;
> Pattan, Reshma <reshma.pat...@intel.com>;
> > olivier.m...@6wind.com
> > Subject: Re: [dpdk-dev] [PATCH] app/testpmd: fix testpmd exit using ctrl+d
> >
> >
> >
> > > -----Original Message-----
> > > From: Mordechay Haimovsky [mailto:mo...@mellanox.com]
> > > Sent: Tuesday, July 24, 2018 3:37 PM
> > > To: Thomas Monjalon <tho...@monjalon.net>; Singh, Jasvinder
> > > <jasvinder.si...@intel.com>
> > > Cc: dev@dpdk.org; Iremonger, Bernard <bernard.iremon...@intel.com>;
> > > Pattan, Reshma <reshma.pat...@intel.com>; olivier.m...@6wind.com;
> > > Dumitrescu, Cristian <cristian.dumitre...@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:tho...@monjalon.net]
> > > > Sent: Tuesday, July 24, 2018 3:34 PM
> > > > To: Jasvinder Singh <jasvinder.si...@intel.com>
> > > > Cc: dev@dpdk.org; bernard.iremon...@intel.com;
> > > > reshma.pat...@intel.com; Mordechay Haimovsky
> > > <mo...@mellanox.com>;
> > > > olivier.m...@6wind.com; cristian.dumitre...@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 <mo...@mellanox.com>
> > > > > > Signed-off-by: Jasvinder Singh <jasvinder.si...@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.
> 
> Curious why not use a service core for softnic background stuff, and leave CLI
> one for CLI?
> Konstantin

I guess for a test application you can do anything you want, but in real life 
CPU cores are really expensive and dedicating a CPU core just for CLI is a 
colossal waste.

We did use the non-blocking cmdline_poll() function instead of the blocking 
cmdline_interact() in the past without any issues. The issues reported by Moti 
come as a surprise. It is probably good to see what this is about and see if we 
can quickly fix the issue in cmdline library. Otherwise, we can revert the 
usage of cmdline_poll() with cmdline_interact().


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

Reply via email to