Jeremy Fitzhardinge writes: >> On Wed, Oct 05, 2011 at 10:11:58PM -0700, Zhenzhong Duan wrote: >> >>> Run below test on xen pvm. >>> # x=$(cat /proc/stat | grep cpu0 | awk '{print $5}') && sleep 60 \ >>> && y=$(cat /proc/stat | grep cpu0 | awk '{print $5}') \ >>> && echo -e "X:$x\nY:$y\nIDLE:" $(echo "scale=3; ($y-$x)/6000*100" | bc) >>> >>> @ X:58562301 >>> @ Y:58574282 >>> @ IDLE: 199.600 >>> >>> Normal idle percent should be around 100%. >>> xen_timer_interrupt called account_idle_ticks to account hypervisor stolen idle ticks >>> but these ticks will be accounted again when idle ticks restarted. >>> >>> Signed-off-by: Zhenzhong Duan >>> Signed-off-by: Joe Jin > > Does this affect the accounting of stolen ticks? If it does, that's not > necessarily a showstopper for this patch, but we'll need to do some more > thinking about it. Certainly, accurate accounting for idleness is > important. Please see also http://thread.gmane.org/gmane.linux.kernel/734441, where I found that the counter doubling isn't always present under 2.6.26. However, after going to 2.6.32 (Debian lenny-backports kernel, 4th of April on the graph below) that instability seems to disappear. Please note that the following graph shows halved idle and iowait percentages.