Thread (290 messages) flat view 290 messages, 13 authors, 2022-04-12

Re: [dpdk-dev] [PATCH v16 2/9] eal: add thread attributes

From: Stephen Hemminger <stephen@networkplumber.org>
Date: 2021-11-10 03:59:38

On Tue, 9 Nov 2021 19:04:17 -0800
Narcisa Ana Maria Vasile [off-list ref] wrote:
quoted
quoted
  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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help