Re: [PATCH 07/11] perf, tools: Collapse identically named events in perf stat

From: Jiri Olsa
Date: Wed Jan 18 2017 - 07:44:53 EST


On Tue, Jan 03, 2017 at 07:08:29AM -0800, Andi Kleen wrote:
> From: Andi Kleen <ak@xxxxxxxxxxxxxxx>
>
> The uncore PMU has a lot of duplicated PMUs for different subsystems.
> When expanding an uncore alias we usually end up with a large
> number of identically named aliases, which makes perf stat
> output difficult to read.
>
> Automatically sum them up in perf stat, unless --no-merge is specified.
>
> This can be default because only the uncores generally have duplicated
> aliases. Other PMUs have unique names.
>
> Before:
>
> % perf stat --no-merge -a -e unc_c_llc_lookup.any sleep 1
>
> Performance counter stats for 'system wide':
>
> 694,976 Bytes unc_c_llc_lookup.any
> 706,304 Bytes unc_c_llc_lookup.any
> 956,608 Bytes unc_c_llc_lookup.any
> 782,720 Bytes unc_c_llc_lookup.any
> 605,696 Bytes unc_c_llc_lookup.any
> 442,816 Bytes unc_c_llc_lookup.any
> 659,328 Bytes unc_c_llc_lookup.any
> 509,312 Bytes unc_c_llc_lookup.any
> 263,936 Bytes unc_c_llc_lookup.any
> 592,448 Bytes unc_c_llc_lookup.any
> 672,448 Bytes unc_c_llc_lookup.any
> 608,640 Bytes unc_c_llc_lookup.any
> 641,024 Bytes unc_c_llc_lookup.any
> 856,896 Bytes unc_c_llc_lookup.any
> 808,832 Bytes unc_c_llc_lookup.any
> 684,864 Bytes unc_c_llc_lookup.any
> 710,464 Bytes unc_c_llc_lookup.any
> 538,304 Bytes unc_c_llc_lookup.any
>
> 1.002577660 seconds time elapsed
>
> After:
>
> % perf stat -a -e unc_c_llc_lookup.any sleep 1
>
> Performance counter stats for 'system wide':
>
> 2,685,120 Bytes unc_c_llc_lookup.any
>
> 1.002648032 seconds time elapsed


if one of them is not supported, we get wrong output:


[jolsa@krava perf]$ sudo ./perf stat --no-merge -a -e clockticks sleep 1

Performance counter stats for 'system wide':

<not supported> clockticks
4,925,158 clockticks

1.000982200 seconds time elapsed

[jolsa@krava perf]$ sudo ./perf stat -a -e clockticks sleep 1

Performance counter stats for 'system wide':

<not supported> clockticks

1.000850195 seconds time elapsed

jirka