Re: [PATCH 01/10] perf tools: Uniquify the event name if there's no other matched event

From: Stephane Eranian
Date: Thu Jun 07 2018 - 12:09:32 EST


On Wed, Jun 6, 2018 at 11:22 PM Jiri Olsa <jolsa@xxxxxxxxxx> wrote:
>
> On Wed, Jun 06, 2018 at 04:19:02PM -0700, Andi Kleen wrote:
> > On Thu, Jun 07, 2018 at 12:15:04AM +0200, Jiri Olsa wrote:
> > > Currently by default we try to match the user specified PMU
> > > name to all PMU units available and use them to aggregate
> > > all matched PMUs event counts into one 'pattern' event.
> > >
> > > While this is useful for uncore events, it screws up names
> > > for other events, where this is not desirable, like:
> > >
> > > Before:
> > > # perf stat -e cp/cpu-cycles/ kill
> >
> > I assume you mean cpU/cpu-cycles/
> > >
> > > Performance counter stats for 'kill':
> > >
> > > 1,573,757 cp/cpu-cycles/
> > >
> > > Keeping the pattern matching logic, but making the name unique
> > > in case there's no other match found. That fixes the example
> > > above and hopefully does not screw up anything else.
> > >
And the problem I have with this approach, is that you do not really
know what you are measuring.
You have not way of knowing that the count comes from multiple PMU instances:

perf stat -a -e uncore_cb/clockticks/ kill
0 uncore_cb/clockticks/

I think you need to report that this is aggregated from uncore_cbox_0
and uncore_cbox_1.
Otherwise it is not clear what I am monitoring. And you hope that what
you match in the regex
is related.
In my example should say:
0 uncore_cbox[0-1]/clockticks/

then it is clear what happened.

> > > After:
> > > # perf stat -e cp/cpu-cycles/ kill
> > >
> > > Performance counter stats for 'kill':
> > >
> > > 1,573,757 cpu/cpu-cycles/
> >
> >
> > The output is 100% identical?
>
> nope, the U is actualy missing.. that's the thing, the patern
> matching allows you to put 'cp' instead of 'cpu' and the final
> output is screwed.. also the metrics won't match the proper event
>
> jirka