Re: Scheduling the highest priority task
From: Martin Roehricht
Date: Thu Aug 02 2007 - 11:47:13 EST
On 08/02/2007 05:19 PM, Ingo Molnar wrote:
* Martin Roehricht <ml@xxxxxxxxxxx> 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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/