- 1 RSDL Scheduler, what's that?
- 2 Should I have CONFIG_SMT enabled with RSDL? with Staircase?
- 3 How is an "interactive process" defined?
- 4 Responsiveness?
- 5 Why are features such as dynamic timeslice lengths bad?
- 6 Why is renicing X bad?
RSDL Scheduler, what's that?
Fairer-than-Staircase scheduler, more suited for non-interactive (ie. server) usage.
Please see RSDL
Should I have CONFIG_SMT enabled with RSDL? with Staircase?
If you have a hyperthread cpu then yes.
How is an "interactive process" defined?
Why are features such as dynamic timeslice lengths bad?
Why is renicing X bad?
Renicing X is NOT bad for the Staircase Deadline cpu scheduler
First and foremost, it is negative-value renicing that is bad. The reason being that the scheduler, in all its fairness, gives more cpu to X, which leads to the other processes being starved, as X is affected by their running as well. Think of this as a cat chasing its tail.
Obviously this is not the desired effect.
Probably the worst thing that renicing X does is that scheduling latency is determined by nice value. So if you set X to a negative nice value, it gets much better latency than other applications at nice 0. This may sound good in theory but what usually happens is that audio starts at nice 0, and if X is a negative nice value it can use so much cpu in bursts that audio stutters... Not good. Note that this is actually not a problem with the staircase cpu scheduler with interactive mode enabled. The reason for this is that with staircase in interactive mode, latency is determined by cpu use as a proportion of entitlement and since cpu usage of audio is usually low, they tend to get low latency as well. However, renicing X is still not desirable and rarely leads to any improvement in X behaviour.
As mentioned in the heading though, these comments are not directed to the Staircase Deadline cpu scheduler. The Staircase-Deadline cpu scheduler (SD) is designed with absolute fairness in mind, and many people will prefer X to be given an unfair proportion of cpu. SD has been specially designed to minimise the latency difference even when there are large differences in nice levels, thus negative nicing of X is not harmful. A value of -10 seems optimal for such a purpose. Note, however, that if you are sharing X sessions across many users then the absolute fairness of SD and not renicing X also comes in useful.