Why not a strait forward approach. [LWN.net]: "Wouldn't it be better to determine interactivity of a process based on it's interaction?
So priority would be based on the hardware driver a process interacts with.
For instance, everytime a process sends (or receives) data to the sound system, it would be given a short term boost. It would continue to have the boost as long as it continues to send or receive data. Also sound is the system were you really notice the problems with so processes doing sound would get the most boost."
'via Blog this'