On 03/05/2011 04:26 PM, michael noble wrote: > On Sat, Mar 5, 2011 at 10:25 PM, Robin Gareus <[email protected]> wrote: > >> > >> quick glance: I got the impression that it only addresses scheduling >> policy (task partitioning) and not realtime task preemption. Also >> software needs to be written dedicated for Litmus RT. >> >> > Judging from the installation instructions, it seems preemption is there:
yes but not AFAICT not real-time preemtion. Vanialla linux does offer some process preemption models (adopted from earlier RT linux patches), but what makes Thomas Gleixner's Preempt-RT outstanding for audio is that it allows to preemt all process including IRQ handlers. Lots of work has gone into that and this part is not merged into Linus' tree [yet]. >> cd litmus-rt >> patch -p1 < ../litmus-rt-2011.1.patch >> # create a working kernel configuration >> # - select HZ=1000 >> # - enable in-kernel preemptions >> # - disable NO_HZ >> # - don't use power management options like frequency scaling >> # - disable support for group scheduling >> # - disable "Write protect kernel read-only data structures" (in kernel >> debug) >> >> I got the feeling from reading that the main thing missing is some kind of > sane interface for assigning RT priviliges to non-root users. Then again, > that maybe covered to some degree in the provided liblitmus which in turn > provides: > > rt_launch, which can be used to start arbitrary programs as real-time tasks. yes, but you'll want IRQ handlers to be processes and tweak their RT priority; and you will need to patch libjack to start audio-threads as /RT task/, and not run the whole application process (GUI) with elevated priority. For non-jack apps: each application will need to set up its audio/midi i/o thread in RT. running a whole GUI with RT privileges will make things worse because GUI interaction will also be able to interrupt audio i/o. > If I get adventurous I may try compiling this thing to see what I can see. > Most of it is over my head and I'll take your word for it that this is far > from userland friendly or ready, but it looks like a fun learning exercise. > > -m have fun. You'll need to come up with a test-case where multiple processors are involved in audio processing.. - don't let me discourage you but be prepared that it will longer than a quick afternoon adventure. I don't know if the same tools used for testing the preempt-rt-kernel can be used for litmus, but you may want to look into http://git.kernel.org/?p=linux/kernel/git/clrkwllms/rt-tests.git in particular https://rt.wiki.kernel.org/index.php/Cyclictest ciao, robin _______________________________________________ Linux-audio-dev mailing list [email protected] http://lists.linuxaudio.org/listinfo/linux-audio-dev
