[PATCH] cpu idle ticks show twice in xen pvm guest

From: Zhenzhong Duan
Date: Thu Oct 06 2011 - 01:12:11 EST


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 <zhenzhong.duan@xxxxxxxxxx>
Signed-off-by: Joe Jin <joe.jin@xxxxxxxxxx>

diff --git a/arch/x86/xen/time.c b/arch/x86/xen/time.c
index 163b467..5dcbc91 100644
--- a/arch/x86/xen/time.c
+++ b/arch/x86/xen/time.c
@@ -151,7 +151,6 @@ static void do_stolen_accounting(void)

ticks = iter_div_u64_rem(blocked, NS_PER_TICK, &blocked);
__this_cpu_write(xen_residual_blocked, blocked);
- account_idle_ticks(ticks);
}

/* Get the TSC speed from Xen */
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/