Re: [PATCH 10/17] 2.6.17.1 perfmon2 patch for review: PMU context switch

From: Andi Kleen
Date: Fri Jun 30 2006 - 10:36:18 EST


On Friday 30 June 2006 16:12, Stephane Eranian wrote:
> Andi,
>
> On Fri, Jun 30, 2006 at 03:41:22PM +0200, Andi Kleen wrote:
> >
> > > So why do we need care about context switch in cpu-wide mode?
> > > It is because we support a mode where the idle thread is excluded
> > > from cpu-wide monitoring. This is very useful to distinguish
> > > 'useful kernel work' from 'idle'.
> >
>
> The exclude-idle feature is an option you select when you create
> your cpu-wide session. By default, it is off.
>
> > I don't quite see the point because on x86 the PMU doesn't run
> > during C states anyways. So you get idle excluded automatically.
> >
> Yes, but that may not necessarily be troe of all architectures.
> At least with the option, the interfaces provides some guarantee.

I don't think it makes sense to complicate the software if the
hardware already guarantees it. So please remove it.

If there is ever an PMU which ticks in C states you could readd
it, but it would surprise me if that will ever happen because
it would conflict with power saving.

Actually there is one reason to use idle notifiers anyways for the PMU -
it can be used to correct for the not ticking PMU in C. So e.g.
you could synthesize an artificial counter out of CPU_CLK_UNHALTED
(and equivalents) + RDTSC measurements before/after idle
(+ correcting the overflows for lost time). With that people
can get full accounting including idle without doing nasty
things like idle=poll

I wanted to do that for oprofile at some point but never got
around to it. But that was one of the reasons the idle notifiers
got added.

But without that I don't think you should special case idle
at all.

>
> > And on the other hand a lot of people especially want idle
> > accounting too and boot with idle=poll. Your explicit
> > code would likely defeat that.
> >
> > > As you realize, that means
> > > that we need to turn off when the idle thread is context switched
> > > in and turn it back on when it is switched off.
> >
> > Also x86-64 has idle notifiers for this if you really wanted
> > to do it properly.
> >
> That looks like a useful feature I could leverage but why is it just
> on x86-64 at the moment?

s390 has it too (I stole it from there) Others could add it I guess
if there is a good case.

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