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

From: Stephane Eranian
Date: Fri Jun 30 2006 - 16:47:03 EST


Chuck,

On Fri, Jun 30, 2006 at 02:33:49PM -0400, Chuck Ebbert wrote:
> In-Reply-To: <200606301541.22928.ak@xxxxxxx>
>
> On Fri, 30 Jun 2006 15:41:22 +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'.
> >
> > 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.
>
> Looks like it does run:
>
> $ pfmon -ecpu_clk_unhalted,interrupts_masked_cycles -k --system-wide -t 10
> <session to end in 10 seconds>
> CPU0 60351837 CPU_CLK_UNHALTED
> CPU0 346548229 INTERRUPTS_MASKED_CYCLES
>
> The CPU spent ~60 million clocks unhalted and ~350 million with interrupts
> disabled. (This is an idle 1.6GHz Turion64 machine.)
>

As Andi is suggesting, I think this may depends on how the BIOS implements
the low-power state. I have tried the same command on my dual Opteron 250
2.4GHz and I get:
$ pfmon --us-c -ecpu_clk_unhalted,interrupts_masked_cycles -k --system-wide -t 10
<session to end in 10 seconds>
CPU0 9,520,303 CPU_CLK_UNHALTED
CPU0 3,726,315 INTERRUPTS_MASKED_CYCLES
CPU1 21,268,151 CPU_CLK_UNHALTED
CPU1 14,515,389 INTERRUPTS_MASKED_CYCLES

That's without idle=poll.

--

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