Linux scheduler and goodness calculation

From: Tigran Aivazian (tigran@veritas.com)
Date: Wed Jun 21 2000 - 12:08:31 EST


Hi guys,

Whilst we (on this cpu) are going through the runqueue and selecting the
process with the highest goodness, someone else (schedule() running on
another cpu) could be going through the entire set of processes and
recalculating their dynamic priorities (p->counter) because schedule drops
runqueue_lock at recalculate label in schedule(), presumably for
performance reasons, i.e. to let another schedule() execute as soon as
possible while we may be spending ages in for_each_task() loop.

Isn't this inconsistent? This means that what is selected as "highest
goodness" on this cpu is not necessarily the "fair value" because it is
based on wrong values of p->counter of the tasks examined (i.e. on the
runqueue).

Any comments?

Regards,
Tigran

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Fri Jun 23 2000 - 21:00:22 EST