[dpdk-dev] [PATCH v16 2/9] eal: add thread attributes
Stephen Hemminger
stephen at networkplumber.org
Wed Nov 10 04:59:31 CET 2021
On Tue, 9 Nov 2021 19:04:17 -0800
Narcisa Ana Maria Vasile <navasile at 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.
More information about the dev
mailing list