Re: [PATCH 09/15] perf_counter tools: optionally scale countervalues in perfstat mode

From: Ingo Molnar
Date: Wed Apr 01 2009 - 05:40:15 EST



* Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> wrote:

> From: Paul Mackerras <paulus@xxxxxxxxx>
>
> Impact: new functionality
>
> This adds add an option to the perfstat mode of kerneltop to scale
> the reported counter values according to the fraction of time that
> each counter gets to count. This is invoked with the -l option (I
> used 'l' because s, c, a and e were all taken already.) This uses
> the new PERF_RECORD_TOTAL_TIME_{ENABLED,RUNNING} read format
> options.
>
> With this, we get output like this:
>
> $ ./perfstat -l -e 0:0,0:1,0:2,0:3,0:4,0:5 ./spin
>
> Performance counter stats for './spin':
>
> 4016072055 CPU cycles (events) (scaled from 66.53%)
> 2005887318 instructions (events) (scaled from 66.53%)
> 1762849 cache references (events) (scaled from 66.69%)
> 165229 cache misses (events) (scaled from 66.85%)
> 1001298009 branches (events) (scaled from 66.78%)
> 41566 branch misses (events) (scaled from 66.61%)
>
> Wall-clock time elapsed: 2438.227446 msecs
>
> This also lets us detect when a counter is zero because the
> counter never got to go on the CPU at all. In that case we print
> <not counted> rather than 0.

Nice! Shouldnt this be the default mode of output?

I think we want to make users aware of the fact when output is
sampled due to over-commit, rather than precise, agreed?

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