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

Marcelo Tosatti mtosatti at redhat.com
Sat Nov 11 05:01:13 CET 2017


On Sat, Nov 11, 2017 at 01:59:21AM -0200, Marcelo Tosatti wrote:
> 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 ? 

Note: yes the kernel seems to be the proper place to fix this,
however:

1) It'll take some time to fix the kernel to handle the problem.

2) In the meantime, a temporary workaround in DPDK is available.


More information about the dev mailing list