Re: [accounting regression since rc1] scheduler updates

Ingo Molnar
2007-08-22T07:59:39Z

* Christian Borntraeger <borntraeger@de.ibm.com> wrote:

> Am Dienstag, 21. August 2007 schrieben Sie:
> > could you try the patch below, does it work any better?
>
> I looked again at the scheduler code and things are getting better
> when I run the patch below on top of your patch and with our
> sched_clock prototype. I guess there is a reason why you want
> rq->clock advanced by at least one tick?

yeah - on PCs if for whatever reason the TSC misbehaves (and that's
quite frequent) then this code sets a minimum boundary for behavior. If
sched_clock() is totally random or does not advance at all or goes
backwards all the time then rq_clock() still functions and falls back to
jiffies-granularity behavior in essence.

> We discussed calling scheduler_tick with virtual time as well.
> Would it have the same result?
> What would be the impact on latency?

if you call scheduler_tick() with virtual time then the "safety"
measures in rq_clock() do not kick in and sched_clock() behaves
correctly as far as the scheduler is concerned. (if everything is in
virtual time then the scheduler has no way to observe/notice that in
reality this is a virtual machine.)

> After looking at the current s390 timer code, it seems that this kind of
> change is not trivial enough to be rc3+ ready.
> I personally think, that for 2.6.23 we should use the patch against
> fs/proc/array.c and everything else for 2.6.24?

yes, that has the least impact for .23 - i have added your array.c patch
to my queue.

Ingo