diff -up sysstat-10.0.0/mpstat.c.pom sysstat-10.0.0/mpstat.c --- sysstat-10.0.0/mpstat.c.pom 2011-03-11 18:09:57.000000000 +0100 +++ sysstat-10.0.0/mpstat.c 2011-04-04 11:22:20.000000000 +0200 @@ -418,6 +418,9 @@ void write_stats_core(int prev, int curr /* Recalculate itv for current proc */ pc_itv = get_per_cpu_interval(scc, scp); + if ((scc->cpu_user - scc->cpu_guest) < (scp->cpu_user - scp->cpu_guest)) + pc_itv = pc_itv + (scp->cpu_user - scp->cpu_guest) - + (scc->cpu_user - scc->cpu_guest); if (!pc_itv) { /*