* 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.