Ingo Molnar wrote: > pretty much the only criticism of the RT-CPU patch was that the global > sysctl is too rigid and that it doesnt allow privileged tasks to ignore > the limit. I've uploaded a new RT-CPU-limit patch that solves this > problem: > > http://redhat.com/~mingo/rt-limit-patches/ > > i've removed the global sysctl and implemented a new rlimit, > RT_CPU_RATIO: the maximum amount of CPU time RT tasks may use, in > percent. For testing purposes it defaults to 80%. > > the RT-limit being an rlimit makes it much more configurable: root tasks > can have unlimited CPU time limit, while users could have a more > conservative setting of say 30%. This also makes it per-process and > runtime configurable as well. The scheduler will instantly act upon any > new RT_CPU_RATIO rlimit. > > (this approach is fundamentally different from the previous patch that > made the "maximum RT-priority available to an unprivileged task" value > an rlimit - with priorities being an rlimit we still havent made RT > priorities safe against deadlocks.) > > multiple tasks can have different rlimits as well, and the scheduler > interprets it the following way: it maintains a per-CPU "RT CPU use" > load-average value and compares it against the per-task rlimit. If e.g. > the task says "i'm in the 60% range" and the current average is 70%, > then the scheduler delays this RT task - if the next task has an 80% > rlimit then it will be allowed to run. This logic is straightforward and > can be used as a further control mechanism against runaway highprio RT > tasks. Very nice. I like the way this approach is evolving. Cheers, Con