On Tue, 9 Nov 2021 19:04:17 -0800
Narcisa Ana Maria Vasile <navas...@linux.microsoft.com> wrote:

> > >   I'll send a new version with a better commit message.
> > >   Thread priorities on both Linux-based and Windows platforms are 
> > > similarly
> > >   constructed from a class/policy + priority value. Currently in DPDK, 
> > > most threads
> > >   operate at the OS-default priority level but there are cases when 
> > > increasing the
> > >   priority is useful. For example, the Mellanox data path acceleration 
> > > driver requires
> > >   realtime thread priority. Similarly, some Windows applications will 
> > > require elevated
> > >   priority.  
> > 
> > It should not. We should not use realtime priority.  
> 
> Thomas, can you join the community sync tomorrow? I'll bring this up to 
> discuss.
> 
> 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.

This is a case of different definitions and expectations of real-time in
Linux and Windows.  Linux definition of real-time priority is for well behaved
and time critical applications. It expects RT applications to run, then sleep.

Reply via email to