Messages in this thread | | | Date | Thu, 02 Aug 2007 17:46:53 +0200 | From | Martin Roehricht <> | Subject | Re: Scheduling the highest priority task |
| |
On 08/02/2007 05:19 PM, Ingo Molnar wrote: > * Martin Roehricht <ml@felicis.org> wrote: > >> That's fine with me, that within the same priority-queue any task can >> be chosen. But assume two tasks with highly different priorities, such >> as 105 and 135 are scheduled on the same processor and one of them is >> now to be migrated -- shouldn't be the queue with task P=105 >> considered first for migration by this code? Both tasks would use >> different queues with their own linked lists, right? > > yes. What makes you believe that the lower priority one (prio 135) is > chosen? [ as i said before, that will only be chosen if all tasks in the > higher-priority queue (prio 105) are either already running on a CPU or > have recently run so that the cache-hot logic skips them. ]
This believe is primarily based on my observations of multiple benchmark runs and also on your statement earlier: »in the SMP migration code, the 'old scheduler' indeed picks the lowest priority one«.
Perhaps it is just an unfortunate coincidence that at ~90% of the time a migration decision is made, the higher priority process is currently cache hot whereas the lower priority process is not. That would be unlucky for me as I would like to decide upon specific runtime circumstances whether the highest or the lowest priority job of a runqueue should be migrated to another CPU. :-/
Martin - 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/
| |