[POWERPC] Simplify stolen time calculation
authorStephen Rothwell <sfr@canb.auug.org.au>
Tue, 17 Oct 2006 13:08:35 +0000 (23:08 +1000)
committerPaul Mackerras <paulus@samba.org>
Mon, 23 Oct 2006 08:20:12 +0000 (18:20 +1000)
commitcbcdb93d4443568f17e93610d240043ec5ac067b
tree752068e5de637a20a14f1829a9b7755f27914356
parent5cfc35cf79d46af998346e3d5cc66fa344d1af0e
[POWERPC] Simplify stolen time calculation

In calculating stolen time, we were trying to actually account for time
spent in the hypervisor.  We don't really have enough information to do
that accurately, so don't try.  Instead, we now calculate stolen time as
time that the current cpu thread is not actually dispatching instructions.
On chips without a PURR, we cannot do this, so stolen time will always
be zero.  On chips with a PURR, this is merely the difference between
the elapsed PURR values and the elapsed TB values.

This gives us much more sane vaules from tools such as mpstat, even if
they are still a bit strange e.g. 2 busy threads on one cpu will both
appear to have 50% user time and 50% stolen time while 1 busy thread on
a cpu will look like 100% user on one of them and 100% idle on the other.

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
arch/powerpc/kernel/time.c