Ingo Molnar wrote: > * Al Boldi <[EMAIL PROTECTED]> 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),
Yes. > and it gets > rectified quickly once they get over a few reschedules? Well, depending on nice level this delay may be more than 45sec. And, in cfs-v8 there is an additional repeating latency blip akin to an expiry when running procs at different nice levels. chew.c shows this clearly. > > 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. Actually, I think 1/32 for +10 is a bit to strong. Introducing a scalefactor tunable may be useful. Also, don't you think it reasonable to lower-bound the timeslices? Thanks! -- Al - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/