Question

I'd like to understand the difference between nice values (used for SCHED_OTHER scheduling) and static values (used for SCHED_RR & SCHED_FIFO {1..99} and 0 for SCHED_OTHER).

Was it helpful?

Solution

In short: nice values are best effort, static priority values are strict.

What this means is that even the nicest process (highest nice level, lowest priority) can and will get CPU time delaying processes with higher nice values (it will not starve).

A process with low strict priority though (including strict priority 0) will never delay the execution of a process with higher strict priority that is runnable.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top