Re: Scheduling the highest priority task

From: Ingo Molnar
Date: Thu Aug 02 2007 - 11:04:18 EST



* Martin Roehricht <ml@xxxxxxxxxxx> wrote:

> On 08/02/2007 01:40 PM, Ingo Molnar wrote:
> >in the SMP migration code, the 'old scheduler' indeed picks the lowest
> >priority one, _except_ if that task is running on another CPU or is too
> >'cache hot':
>
> But why is it, that the scheduler picks the lowest priority one? I
> thought sched_find_first_bit() picks the index of the lowest order bit
> in the bitmap and thus the highest priority job. Is that wrong? What
> needs to be changed to let the scheduler pick the highest priority
> task from a given runqueue? I am very confused ...

it first picks the lowest index (i.e. the highest priority active
priority-queue), but within those tasks (each task in that priority
queue has equal priority) the load-balancer has freedom to pick any.
Based on performance data we went for picking from the tail of the
queue.

Ingo
-
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/