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.
Next would be keyboard and mouse events. If I type on open office for instance, it should get a moment of increased priority so that it can draw the new character I type to the screen faster. Plus if I'm trying to get control back on a runaway server, it would be nice if my processes had priority.
Interacting with the screen might provide a small boost as well, but might be to easy to abuse. Movies and games usually come with sound and thus would get a boost anyway.
Most other hardware subsystems would probably not (and shouldn't) have an effect on the priority of a process.
It sounds like a nice idea, and maybe it is already done this way, or maybe there is a lot more to it that I haven't considered (Like isn't X always the one getting keyboard and mouse events?).
Copyright © 2018, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds