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

From: Jussi Laako
Date: Tue May 12 2009 - 08:12:22 EST


On Tue, 12 May 2009, Peter Zijlstra wrote:

There is an occasional stutter, but not much.

This is not acceptable and something to get rid of... VLC probably has quite a bit of buffering for audio, while my use cases are mostly for doing video calls, where the buffering has to be kept reasonably low to not
extend conversation latency for the audio too much.

Thing is, adding static preemption priories into SCHED_OTHER (which is
basically what you propose I think) doesn't really help, I can still
load the machine high enough so that there simply isn't time available
to decode the frames while maintaining proportional fairness -- no
matter how preemptive you get.

First I would like to discuss possibility of assigning different priorities to different threads of a SCHED_OTHER process. (pthread_setschedparam() etc)

Second the idea is to reach nice compromise between normal SCHED_OTHER and hardcore SCHED_FIFO for application which fall between these two. And sure, the definite idea is that this SCHED_OTHER approach wouldn't be absolute in that sense, but would improve the overall situation.

According to my tests, full patch reduces timing misses 10x while not removing those completely. SCHED_FIFO removes all misses, but is a bit too hardcore for things like running browser-embedded flash plugin...


- Jussi
--
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/