[dpdk-dev] [PATCH] testpmd: add nanosleep in main loop

Marcelo Tosatti mtosatti at redhat.com
Sat Nov 11 04:59:21 CET 2017


On Fri, Nov 10, 2017 at 08:51:02AM -0500, Luiz Capitulino wrote:
> On Fri, 10 Nov 2017 11:14:51 +0000
> Bruce Richardson <bruce.richardson at intel.com> wrote:
> 
> > On Fri, Nov 10, 2017 at 11:42:56AM +0100, Daniel Bristot de Oliveira wrote:
> > > 
> > > 
> > > On 11/10/2017 11:14 AM, Ananyev, Konstantin wrote:  
> > > > Agree with Adrian here - the patch doesn't fix the problem in any case,  
> > > 
> > > I would agree with you if it were possible to assume one can fully
> > > isolate a CPU on Linux... but it is not...
> > > 
> > > This:
> > > https://lwn.net/Articles/659490/
> > > 
> > > is still an open issue, and the reason why it is an open issue is the
> > > kernel threads that need to run on every CPU, mainly when using the
> > > PREEMPT_RT, which turns almost everything on threads.
> > >   
> > > > while introducing an unnecessary slowdown in testpmd iofwd mode.
> > > > Please think up some other approach.  
> > > 
> > > The other approach is to increase the priority of all other threads that
> > > run on the isolate CPU. But that is not a good idea at all, as the other
> > > threads might preempt the busy-loop thread at the worst possible moment.
> > > 
> > > Using the knowledge of the thread about when it is the best time to give
> > > a chance for other threads to run would be a smarter decision.
> > >   
> > I don't like having this in the main loop either, and to echo others I
> > wouldn't have thought that testpmd was actually used as anything other
> > than a testing app. 
> 
> That's why we're patching it. We want to be aware of the implications.
> If it's not good for testpmd, it may not be good for production either.

The arguments raised so far against the patch have been:

1) Performance is reduced.
Reply: 
* Of course performance is reduced, but any solution will also 
reduce performance similary.
* Performance is reduced but within the acceptable limits set by
NFV standards. So the performance reduction argument is kind
of not an issue (in my POV).

2) Testpmd is a test application.

Well, if one would like to avoid XFS corruption or other similar
results caused by the not possibility of running poll mode testpmd
(while testing) then he should enable the options (which are disabled
by default). Moreover, testpmd is an example application used by
production developers, so it should be integrated to testpmd.


Does anyone have arguments against the reasoning above ? 



More information about the dev mailing list