On Tue, 2007-10-09 at 10:25 -0400, Gregory Haskins wrote:
Ok, I'm not liking these.
I really hate setting TIF_NEED_RESCHED from the IPI handler. Also, I
don't see how doing a resched pulls tasks to begin with.
How about keeping a per rq variable that indicates the highest priority
of runnable tasks. And on forced preemption look for a target rq to send
your last highest task to.
There is no need to broadcast rebalance, that will only serialise on the
local rq lock again. So pick a target rq, and stick with that.
Also, I think you meant to use cpus_and() with the rto and allowed
masks.
-