Re: [PATCH 14/18] 2.6.17.9 perfmon2 patch for review: new i386 files

From: Andi Kleen
Date: Fri Aug 25 2006 - 11:16:28 EST


On Friday 25 August 2006 17:00, Stephane Eranian wrote:

> > > > BTW you might be able to simplify some of your code by exploiting
> > > > those. i386 currently doesn't have them, but i wouldn't see a problem
> > > > with adding them there too.
> > > >
> > > I think I will drop the EXCL_IDLE feature given that most PMU stop
> > > counting when you go low-power. The feature does not quite do what
> > > we want because it totally exclude the idle from monitoring, yet
> > > the idle may be doing useful kernel work, such as fielding interrupts.
> >
> > Ok fine. Anything that makes the code less complex is good.
> > Currently it is very big and hard to understand.
> >
> > (actually at least one newer Intel system I saw seemed to continue counting
> > in idle, but that might have been a specific quirk)
> >
>
> Yes, that's my fear, we may get inconsistent behaviors across architectures.

It's already the case with idle=poll vs not.

> I think the only way to ensure some consistency would be to use the
> enter/exit_idle callbacks you mentioned assuming those would be available for
> all architectures. With this, we could guarantee that we are not monitoring
> usless execution (including low-power mode) simply because we would explicitely
> stop monitoring on enter_idle() and restart monitoring on exit_idle().

Or better account for it using RDTSC because often people want their numbers to add up to 100%
when doing global accounting. For other events than cycles=time it is not needed
because they don't happen by definition in idle.

This was one reason I added the hooks because it was a FAQ on oprofile

If you want them for i386 just send a patch to port them.

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