Messages in this thread |  | | Date | Wed, 19 Oct 2016 15:38:33 +0200 | From | Ingo Molnar <> | Subject | Re: [GIT PULL] Vendor events file/dir names |
| |
* Arnaldo Carvalho de Melo <acme@kernel.org> wrote:
> Em Tue, Oct 18, 2016 at 09:59:01AM +0200, Ingo Molnar escreveu: > > * Arnaldo Carvalho de Melo <acme@kernel.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
|  |