Re: [PATCH] x86_64 add missing enter_idle() calls

From: Stephane Eranian
Date: Mon Oct 16 2006 - 10:44:58 EST


On Mon, Oct 16, 2006 at 04:36:52PM +0200, Andi Kleen wrote:
>
> > 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?
>
No, I am still using 2.6.18. I saw your change in git (thanks for that). I need to try
with this tree and see what happens.

Thanks.

--
-Stephane
-
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/