Re: [patch] CFS scheduler, -v7

From: Ingo Molnar
Date: Thu May 03 2007 - 03:46:25 EST



* Al Boldi <a1426z@xxxxxxxxx> wrote:

> > i'm pleased to announce release -v7 of the CFS scheduler patchset.
> > (The main goal of CFS is to implement "desktop scheduling" with as
> > high quality as technically possible.)
> :
> :
> > As usual, any sort of feedback, bugreport, fix and suggestion is
> > more than welcome,
>
> This one seems on par with SD, [...]

excellent :-)

> [...] but there are still some nice issues.
>
> Try running 3 chew.c's, then renicing one to -10, starves others for
> some seconds while switching prio-level. Now renice it back to 10, it
> starves for up to 45sec.

ok - to make sure i understood you correctly: does this starvation only
occur right when you renice it (when switching prio levels), and it gets
rectified quickly once they get over a few reschedules?

> Also, nice levels are only effective on every other step; ie:
> ... -3/-2 , -1/0 , 1/2 ... yields only 20 instead of 40 prio-levels.

yeah - this is a first-approximation thing.

Some background: in the upstream scheduler (and in SD) nice levels are
linearly scaled, while in CFS they are exponentially scaled. I did this
because i believe exponential is more logical: regardless of which nice
level a task uses, if it goes +2 nice levels up then it will halve its
"fair CPU share". So for example the CPU consumption delta between nice
0 and nice +10 is 1/32 - and so is the delta between -5 and +5, -10 and
-5, etc. This makes nice levels _alot_ more potent than upstream's
linear approach.

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/