Hi,
After the debate regarding inclusion of realtime-lsm in the main tree,
it seems like other approaches to unprivileged real-time have shown up.
Both Con Kolivas and Ingo Molnar have come up with different (cleaner to
the kernel developers) solutions. Both are described at:
http://lwn.net/Articles/120024/
It seems like these solution have not been very popular yet, although I
think they still have better chances of eventually being merged. I
haven't tried Ingo's patch yet, but I can say that Con's
SCHED_ISO_{FIFO,RR}
(
http://ck.kolivas.org/patches/SCHED_ISO/2.6.11.6-iso3.1.diff) works
pretty good. Also, one nice feature that both approaches have is that
you can set a limit on the amount of CPU a user RT task can use,
preventing a user to lock up the machine.
The way I see it, there are three important parts to a good solution:
1) Make sure no user can lockup the system with a "while(1);", so IMO
realtime-lsm isn't the best solution (though I'm not strongly against)
2) Have per-user control, so that you can automatically restrict
real-time tasks to only the person physically logged in. This would be
important for a desktop configuration and would mean a distribution
could enable this be default.
3) Making sure user tasks are lower priority that privileged tasks.
Right now, Con's patch does 1 and 3, while Ingo's does 1 and 2 (though
Con says Ingo's patch could also do 3). Would people here be happy with
any of those and try to convince kernel developers that there's really a
need for real-time (some still aren't convinced) and that one of these
solution is acceptable?
Jean-Marc
--
Jean-Marc Valin <Jean-Marc.Valin(a)USherbrooke.ca>
Université de Sherbrooke