> negative nice levels are a guaranteed way to monopolize the CPU. > SCHED_FIFO with throttling could at most be used to 'steal' CPU time> up to the threshold. Also, if a task 'runs away' in SCHED_FIFO mode it> will be efficiently throttled. While if it 'runs away' in nice--20> mode, it will take away 95+% of the CPU time quite agressively.> Furthermore, more nice--20 tasks will do much more damage (try thunk.c> at nice--20!), while more throttled SCHED_FIFO tasks only do damage to> their own class - the guaranteed share of SCHED_OTHER tasks (and> privileged RT tasks) is not affected.

furthermore, the current way of throttling SCHED_FIFO tasks that violatethe limit makes it less likely that application writers would abuse thefeature with CPU-intensive apps, because _if_ you violate the limit thenthe penalty is high. E.g. a blatant violation of the limit via a pureCPU loop ends up getting much less CPU time than even the limit wouldallow for. For audio/RT apps this is fine, because they must plan theirCPU overhead anyway so they are a much more controlled environment andjust do things properly to avoid the penalty.