so i've tried to make a new scheduling policy
for linux. i've
called it SCHED_USERFIFO. the intent is basically to allow a process
ask for x amount of processor time out of every y jiffies. (the user
part is in the hope that the administrator can set rlimits on the
amount of percentage of time requested and allow non-priviledged users
to use this policy without being able to complete hang the box).
it works just like SCHED_FIFO as long as the process doesn't take
more than the amount of time it asked for. if it does try to take
more time, it is allowed to be preempted until the period is over.
This is somewhat similar to the SCHED_SPORADIC.
On a related note, I found this paper:
http://marte.unican.es/appsched-proposal.pdf
I'm not sure how much work it would be to implement this for Linux,
but it would certainly be nice to have. An EDF scheduler would be
ideal for asynchronous audio processing (large fft blocks, etc.).
--ms