-- On Tue, 9 Oct 2007, Gregory Haskins wrote:Hi Gregory, OK. Peter Zijlstra and I have been discussing this IPI Resched change a bit. It seems that it is too much overkill for what is needed. That is, the send_reschedule is used elsewhere where we do not want to actually do a schedule. I'm thinking about trying out a method that each rq has the priority of the current task that is running. On case where we get an rt overload (like in the finish_task_switch) we do a scan of all CPUS (not taking any locks) and find the CPU which the lowest priority. If that CPU has a lower prioirty than a waiting task to run on the current CPU then we grab the lock for that rq, check to see if the priority is still lower, and then push the rt task over to that CPU. If after taking the rq lock a schedule had taken place and a higher RT task is running, then we would try again, two more times. If this phenomenon happens two more times, we punt and wouldn't do anything else (paranoid attempt to fall into trying over and over on a high context switch RT system). The above three may be obsoleted by this new algorithm. -- Steve -
| Tarkan Erimer | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
| Greg Kroah-Hartman | [PATCH 004/196] Chinese: add translation of SubmittingPatches |
| Artem Bityutskiy | [PATCH 18/44 take 2] [UBI] build unit implementation |
| James Morris | Re: LSM conversion to static interface |
git: | |
| Paul Jackson | [PATCH] cpuset sched_load_balance kmalloc fix |
| Gerrit Renker | [PATCH 15/37] dccp: Set per-connection CCIDs via socket options |
| Jarek Poplawski | [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| Linus Torvalds | Re: [GIT]: Networking |
