[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20161019133833.GA18917@gmail.com>
Date: Wed, 19 Oct 2016 15:38:33 +0200
From: Ingo Molnar <mingo@...nel.org>
To: Arnaldo Carvalho de Melo <acme@...nel.org>
Cc: Sukadev Bhattiprolu <sukadev@...ux.vnet.ibm.com>,
Andi Kleen <andi@...stfloor.org>, Jiri Olsa <jolsa@...nel.org>,
Wang Nan <wangnan0@...wei.com>,
Namhyung Kim <namhyung@...nel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: Re: [GIT PULL] Vendor events file/dir names
* Arnaldo Carvalho de Melo <acme@...nel.org> wrote:
> Em Tue, Oct 18, 2016 at 09:59:01AM +0200, Ingo Molnar escreveu:
> > * Arnaldo Carvalho de Melo <acme@...nel.org> wrote:
> > > Ingo pointed out to me that in the kernel sources we do not use
> > > file/dir names with uppercase chars (look, for instance, at arch/), so I
> > > mostly scripted a conversion to lowercase and what I got is at:
>
> > > git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git perf/vendor_events
>
> > > Please let me know if you have any technical argument against
> > > this move,
> >
> > Looks good to me!
>
> So I've made this signed tag available with just what is in this branch,
> that was based off tip/perf/urgent, please pull it into the most convenient
> branch at this time,
>
> Thanks,
>
> - Arnaldo
>
> tag perf-vendor_events-for-mingo-20161018
Ok, I tried this out, and I like it mostly - the event files hierarchy looks good
and the 'perf list' output looks good, but I found a couple of usability problems
when trying to actually navigate and search the new hw events:
1)
How do I query individual hw event groups?
'perf list' output is really long now, and for example it gives me:
cache:
l1d.replacement
[L1D data line replacements]
...
If I knew that I'm interested in cache related events, I'd have expected to be
able to do:
perf list cache
or at least:
perf list cache:
or something similar to list just - but it does not seem to do the right thing.
2)
Another problem I found is that there does not appear to be an easy way to get the
long description of events. For example:
triton:~/tip> perf list longest_lat_cache.miss
List of pre-defined events (to be used in -e):
cache:
longest_lat_cache.miss
[Core-originated cacheable demand requests missed LLC]
But the event table actually includes the following as well:
"PublicDescription": "This event counts each cache miss condition for references to the last level cache.",
which is not printed anywhere. I tried the obvious 'perf list -v longest_lat_cache.miss'.
3)
If I come with an event from the vendor world, say "LONGEST_LAT_CACHE.MISS", and
try to list it, 'perf list' does not recognize it:
triton:~/tip> perf list LONGEST_LAT_CACHE.MISS
List of pre-defined events (to be used in -e):
I believe the searching of events in perf list should be case insentitive in
general.
Event parsing correctly recognizes it:
triton:~/tip> perf stat -e longest_lat_cache.miss -e LONGEST_LAT_CACHE.MISS -e LoNgEsT_lAt_CaChE.MisS sleep 1
Performance counter stats for 'sleep 1':
2,669 longest_lat_cache.miss
2,669 LONGEST_LAT_CACHE.MISS
2,669 LoNgEsT_lAt_CaChE.MisS
Thanks,
Ingo
Powered by blists - more mailing lists