Yes, I think this could work well. What we could do is basically just
always spread the interactivity eavenly between the waker and the sleeper,
instead of my current "give the sleeper as much as we can, and if
anything is left over give some to the waker" approach.
So my current patch is extreme in that it tries to use up as much as
possible of the "interactivity bonus points", but it is _not_ extreme in
the sense that it doesn't inherit interactivity both ways.
So my patch will _not_ try to balance a series of three or more processes,
where only one is interactive. Because it will trigger only for the
process _directly_ connected to the interactive one.
If we spread it out instead by always trying to balance the interactivity,
it would spread out from the interactive one along any synchronous wakeup
chain. Which is more extreme than I was willing to try with a first
example..
Linus
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/