Hi, Peter Zijlstra wrote: > Right, and I think the solution to this problem is twofold, 1) > application writers should start writing (soft) realtime applications if > they want (soft) realtime behaviour -- there's just no way around that. Just to avoid need for reviewing and reworking ~800 klocs of user space code in just gstreamer, here's a second take on patches. This time splitting things into smaller pieces. Attached patch exposes 40 priorities ~ nice values as something accessible through sched_()/pthreads API in order to control priorities of individual threads. Current Linux implementation of SCHED_OTHER is broken in a way, that it exposes only one single priority level - 0. Thus no possibility to properly control priorities of threads through pthread API. This is patch is against 2.6.29.2 and not tested, but builds. I can also send rest of the changes as separate small feature patches as needed. However, before doing any more work I would like to hear opinions on this and especially what is wrong with the code or idea... > And 2), the kernel can help by providing a deadline based scheduler, > which should make the above easier and less likely to mess up the rest > of the system. ie. a deadline scheduled application will not exceed its > allotted budget, unlike a FIFO scheduled app. Any news on this one? - Jussi