Re: [RFC][PATCH] Multimedia scheduling class, take 2

From: Peter Zijlstra
Date: Tue May 12 2009 - 01:58:09 EST


On Mon, 2009-05-11 at 11:22 +0300, Jussi Laako wrote:
> 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?

Utter lack of time on my side to work on any of the problems there.

As to the patch, I still think its an exceedingly bad idea to create
such a horridly ill defined scheduler class. There's nothing that keeps
people from stuffing everything in there and either generating DoS
issues or still generating bad interactivity.

I certainly don't think the current situation is bad enough to warrant
things like that, media on my machines works peachy (*cheer* for XV on
R600).

I happen to know that Dario (CC'ed) has been working on a userspace
framework to ease the use of writing soft-realtime (soft as in media
based applications) in C, mitigating a lot of the risks of using
SCHED_FIFO and the like.

Perhaps he's willing to expand on that.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/