Re: [PATCH] x86_64 add missing enter_idle() calls
From: Andi Kleen
Date: Mon Oct 16 2006 - 10:37:18 EST
> With the original code, the number of callbacks you see for IDLE_START and
> IDLE_STOP is not too obvious.
>
> On an idle system Opteron 250 with HZ=250, one would expect to see for a 10s duration:
> - for CPU0 : IDLE_START = IDLE_STOP = about 5000 calls
> - for other CPUs: IDLE_START = IDLE_STOP = about 2500 calls
Yes.
> With the original code, you get the following number of calls:
>
> CPU0.IDLE_START = 44 (enter_idle)
> CPU0.IDLE_STOP = 5206 (exit_idle)
>
> CPU1.IDLE_START = 27 (enter_idle)
> CPU1.IDLE_STOP = 2528 (exit_idle)
>
> Now, of course, you may get "batched" interrupts where you do not return to idle
> before you process the next interrupt. But the difference seems quite high here.
Shouldn't happen for timer interrupts.
>
> Do you have an explanation for this?
Hmm, the last time I fixed this when you complained (post .18) i added a counter for
entry/exit and verified that it was balanced. I haven't rechecked since then.
I don't know why your numbers are off. You're using the latest git tree, right?
-Andi
-
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/