On Tue, Nov 09, 2021 at 10:29:25PM -0800, Stephen Hemminger wrote:
> On Wed, 10 Nov 2021 04:20:52 +0000
> Tyler Retzlaff <roret...@microsoft.com> wrote:
> 
> > > >
> > > > High performance applications benefit from an option to raise the 
> > > > priority of their threads to avoid being preemted by other threads on 
> > > > the system. If there are issues with realtime priority on some of the 
> > > > platforms, maybe we can add a warning for the user to make them aware 
> > > > of possible crashes as Stephen H. suggested some time ago. Note that 
> > > > this patch doesn't change the priority of EAL threads, enabling the 
> > > > higher priority will be done through a command line option when 
> > > > starting the application.
> > > > Maybe we can explore raising the priority but not to the realtime 
> > > > level.  
> > 
> > > Let me put it more succulently.
> > > Almost all DPDK applications have threads that are a 100% CPU doing 
> > > polling.
> > > Putting those thread as real-time thread breaks Linux badly because the 
> > > kernel can and will try and run work on those CPU's and the system is 
> > > broken/unstable/dead at that point.  
> > 
> > The suggestion is that when running on Windows it should be possible for 
> > the application to be configured to use real-time threads, there is no 
> > implication that it will force real-time priority on Linux.  If it doesn't 
> > make sense for it to be configured on Linux then don't configure it.  But 
> > saying it shall not be configurable for any platform just because one 
> > platform can't make use of the configuration and those platforms have to 
> > run compromised makes little sense.  Linux administrators are (or should 
> > be) knowledgeable enough to know what configuration to use.
> >
> 
> Why not just make it always return an error when real-time is requested on 
> Linux from a DPDK thread.
>
I would tend to agree with this suggestion, that we just return ENOTSUP
error code for Linux. It's too easy to lock up a linux system with realtime
DPDK threads. If a user really knows what they are doing and they need
realtime priority on linux, they can use the linux scheduler APIs directly.
However, I am ok with having such a function supported on Windows if it's
needed. Unfortunately, I don't know for sure about BSD, but it probably
should follow the linux approach initially unless proved safe.

/Bruce

Reply via email to