Re: [accounting regression since rc1] scheduler updates

Christian Borntraeger
2007-08-21T11:59:53Z

> what do you think about the rq_clock() #ifdef i did in the previous mail
> plus you making sched_clock() virtual? That way you can keep
> scheduler_tick() driven by real-time, although that generally will cause
> artifacts with SMP load-balancing too. (that was true in the past too)

I just has a test run with a virtual sched_clock and your patch.
Unfortunately, it doesnt work. top shows 100% for a cpu bound process, but
steal time shows about 5% stolen cpu.

This brings me to another problem: runtime.
Let me give an example. You get 90% cpu from your hipervisor in a shared
environment. If you now start a cpu bound task that gets the full cpu for
lets say 10 minutes. I REALLY want to see 9 minutes in ps and top because my
department might pay for used cpu cycles.

>
> but i dont mind your patch either - it's really the architecture's
> choice how visible it wants to make external load to the task stats of
> its virtual machines. I think it is more logical to say that 100% CPU
> time displayed in 'top' means that the task got all the CPU time it
> asked for from the virtual machine. (and if you are curious about how
> much time was stolen from the virtual box altogether you look at the
> stolen-time stats in isolation.)

Well, as I said we started with the same approach (virtual cpu) but we learned
that these numbers have no meaning at all because the hypervisor does have
different scheduling timeslices and having 100% inside the guest can still
result in almost nothing if the system is really loaded.

Christian