Re: [PATCH 0/5] RT: scheduler fixes and rt_overload enhancements
From: Peter Zijlstra <peterz@infradead.org>
Date: 2007-10-09 15:00:58
Also in:
lkml
From: Peter Zijlstra <peterz@infradead.org>
Date: 2007-10-09 15:00:58
Also in:
lkml
On Tue, 2007-10-09 at 10:25 -0400, Gregory Haskins wrote:
Hi All, The first two patches are from Mike and Steven on LKML, which the rest of my series is dependent on. Patch #4 is a resend from earlier. Series Summary: 1) Send IPI on overload regardless of whether prev is an RT task 2) Set the NEEDS_RESCHED flag on reception of RESCHED_IPI 3) Fix a mistargeted IPI on overload 4) Track which CPUS are in overload for efficiency 5) Track which CPUs are eligible for rebalancing for efficiency These have been built and boot-tested on a 4-core Intel system.
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.