This is how we reproduce the issue : app/testpmd -n 4 --vdev="net_tap0,iface=tap0,remote=eth1" -- --burst=64 --mbcache=512 -i --rxq=2 --txq=2 --txd=512 --rxd=512 --port-topology=chained --forward-mode=rxonly
> -----Original Message----- > From: Ananyev, Konstantin [mailto:konstantin.anan...@intel.com] > Sent: Wednesday, July 25, 2018 2:39 PM > 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; Van > Haaren, Harry <harry.van.haa...@intel.com> > Subject: RE: [dpdk-dev] [PATCH] app/testpmd: fix testpmd exit using ctrl+d > > > > > -----Original Message----- > > From: Dumitrescu, Cristian > > Sent: Wednesday, July 25, 2018 10:36 AM > > To: Ananyev, Konstantin <konstantin.anan...@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: 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. > > Ok, but let's application developer to decide how to use (waste) the cores he > owns :) What I am saying: there is a special thing (developed by Harry) > service cores. > As I understand why of it's the purpose - allow PMD(s) to allocate CPU > resources for there background tasks in a unified and transparent way. > From the description above - that seems to fit your needs (softnic > background processing), no? > Konstantin > > > > > 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.