From: Kim Phillips <kim.phillips@arm.com>
To: Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: Ingo Molnar <mingo@kernel.org>, <linux-kernel@vger.kernel.org>,
Linux Weekly News <lwn@lwn.net>, Andi Kleen <andi@firstfloor.org>,
"David Ahern" <dsahern@gmail.com>,
Don Zickus <dzickus@redhat.com>, Jiri Olsa <jolsa@kernel.org>,
Joe Mario <jmario@redhat.com>, Namhyung Kim <namhyung@kernel.org>,
Peter Zijlstra <a.p.zijlstra@chello.nl>,
"Arnaldo Carvalho de Melo" <acme@redhat.com>
Subject: Re: [GIT PULL 00/52] New Tool: perf c2c
Date: Thu, 20 Oct 2016 18:02:24 -0500 [thread overview]
Message-ID: <20161020180224.23b087c217663cd262ddc873@arm.com> (raw)
In-Reply-To: <1476975876-2522-1-git-send-email-acme@kernel.org>
On Thu, 20 Oct 2016 12:03:44 -0300
Arnaldo Carvalho de Melo <acme@kernel.org> wrote:
> git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-c2c-for-mingo-20161020
Running this as a normal user may not be the best thing to do, but I'm
pretty sure the TUI c2c report shouldn't sigsegv:
-----
$ tools/perf/perf c2c record -e ldlat-loads lat_mem_rd 16 4096
WARNING: Kernel address maps (/proc/{kallsyms,modules}) are restricted,
check /proc/sys/kernel/kptr_restrict.
Samples in kernel functions may not be resolved if a suitable vmlinux
file is not found in the buildid cache or in the vmlinux path.
Samples in kernel modules won't be resolved at all.
If some relocation was applied (e.g. kexec) symbols may be misresolved
even with a suitable vmlinux or kallsyms file.
Couldn't record kernel reference relocation symbol
Symbol resolution may be skewed if relocation was used (e.g. kexec).
Check /proc/kallsyms permission or run as root.
"stride=4096
0.00391 1.224
0.00586 1.220
0.00781 1.229
0.01172 1.230
0.01562 1.222
0.02344 1.225
0.03125 1.234
0.04688 3.659
0.06250 3.673
0.09375 3.683
0.12500 3.693
0.18750 5.803
0.25000 7.223
0.37500 12.460
0.50000 13.308
0.75000 13.759
1.00000 13.712
1.50000 12.916
2.00000 12.508
3.00000 12.245
4.00000 12.474
6.00000 27.549
8.00000 65.141
12.00000 79.808
16.00000 84.384
[ perf record: Woken up 1 times to write data ]
[ perf record: Captured and wrote 0.008 MB perf.data ]
$ tools/perf/perf c2c report --stdio
=================================================
Trace Event Information
=================================================
Total records : 0
Locked Load/Store Operations : 0
Load Operations : 0
Loads - uncacheable : 0
Loads - IO : 0
Loads - Miss : 0
Loads - no mapping : 0
Load Fill Buffer Hit : 0
Load L1D hit : 0
Load L2D hit : 0
Load LLC hit : 0
Load Local HITM : 0
Load Remote HITM : 0
Load Remote HIT : 0
Load Local DRAM : 0
Load Remote DRAM : 0
Load MESI State Exclusive : 0
Load MESI State Shared : 0
Load LLC Misses : 0
LLC Misses to Local DRAM : -nan%
LLC Misses to Remote DRAM : -nan%
LLC Misses to Remote cache (HIT) : -nan%
LLC Misses to Remote cache (HITM) : -nan%
Store Operations : 0
Store - uncacheable : 0
Store - no mapping : 0
Store L1D Hit : 0
Store L1D Miss : 0
No Page Map Rejects : 0
Unable to parse data source : 0
=================================================
Global Shared Cache Line Event Information
=================================================
Total Shared Cache Lines : 0
Load HITs on shared lines : 0
Fill Buffer Hits on shared lines : 0
L1D hits on shared lines : 0
L2D hits on shared lines : 0
LLC hits on shared lines : 0
Locked Access on shared lines : 0
Store HITs on shared lines : 0
Store L1D hits on shared lines : 0
Total Merged records : 0
=================================================
c2c details
=================================================
Events : cpu/mem-loads,ldlat=30/P:u
Cachelines sort on : Remote HITMs
Cacheline data grouping : offset,pid,tid,iaddr
=================================================
Shared Data Cache Line Table
=================================================
#
# Total Rmt ----- LLC Load Hitm ----- ---- Store Reference ---- --- Load Dram ---- LLC T
# Index Cacheline records Hitm Total Lcl Rmt Total L1Hit L1Miss Lcl Rmt Ld Miss L
# ..... .................. ....... ....... ....... ....... ....... ....... ....... ....... ........ ........ ....... ...
#
=================================================
Shared Cache Line Distribution Pareto
=================================================
#
$ tools/perf/perf c2c report
perf: Segmentation fault
-------- backtrace --------
tools/perf/perf[0x56504b]
/lib/x86_64-linux-gnu/libc.so.6(+0x354a0)[0x7facb45794a0]
tools/perf/perf(cmd_c2c+0x13bc)[0x45b2fc]
tools/perf/perf[0x48df61]
tools/perf/perf(main+0x6f6)[0x4249b6]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0)[0x7facb4564830]
tools/perf/perf(_start+0x29)[0x424aa9]
[0x0]
$ gdb tools/perf/perf
...
(gdb) run c2c report
...
Program received signal SIGSEGV, Segmentation fault.
c2c_browser__update_nr_entries (hb=<optimized out>, hb=<optimized out>) at builtin-c2c.c:2142
2142 nr_entries++;
(gdb) bt
#0 c2c_browser__update_nr_entries (hb=<optimized out>, hb=<optimized out>) at builtin-c2c.c:2142
#1 perf_c2c__hists_browse (hists=0x8b2d90 <c2c+240>) at builtin-c2c.c:2287
#2 perf_c2c_display (session=0x205b1a0) at builtin-c2c.c:2316
#3 perf_c2c__report (argv=<optimized out>, argc=<optimized out>) at builtin-c2c.c:2621
#4 cmd_c2c (argc=<optimized out>, argv=<optimized out>, prefix=<optimized out>) at builtin-c2c.c:2748
#5 0x000000000048df61 in run_builtin (p=p@entry=0x8be168 <commands+72>, argc=argc@entry=2, argv=argv@entry=0x7fffffffddb0)
at perf.c:358
#6 0x00000000004249b6 in handle_internal_command (argv=0x7fffffffddb0, argc=2) at perf.c:420
#7 run_argv (argv=0x7fffffffdb40, argcp=0x7fffffffdb4c) at perf.c:466
#8 main (argc=2, argv=0x7fffffffddb0) at perf.c:610
(gdb)
All the above work fine when run under sudo.
Here are some other details, in case they matter:
$ uname -r
4.7.9+
$ dmesg | grep Perf
[ 0.112348] Performance Events: PEBS fmt3+, 32-deep LBR, Skylake events, full-width counters, Intel PMU driver.
$ make -C tools/perf clean >& /dev/null ; make -C tools/perf |& grep -i warn
Warning: x86_64's syscall_64.tbl differs from kernel
Warning: tools/include/uapi/linux/bpf.h differs from kernel
Warning: tools/arch/x86/lib/memcpy_64.S differs from kernel
Warning: tools/arch/x86/lib/memset_64.S differs from kernel
Warning: tools/arch/arm/include/uapi/asm/kvm.h differs from kernel
Warning: tools/include/uapi/asm-generic/mman-common.h differs from kernel
$ tools/perf/perf config -l
buildid.dir=/dev/null
$ tools/perf/perf mem record -e list
ldlat-loads : available
ldlat-stores : available
$
Thanks,
Kim
next prev parent reply other threads:[~2016-10-20 23:02 UTC|newest]
Thread overview: 64+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-10-20 15:03 [GIT PULL 00/52] New Tool: perf c2c Arnaldo Carvalho de Melo
2016-10-20 15:03 ` [PATCH 01/52] perf c2c: Introduce c2c_decode_stats function Arnaldo Carvalho de Melo
2016-10-20 15:03 ` [PATCH 02/52] perf c2c: Introduce c2c_add_stats function Arnaldo Carvalho de Melo
2016-10-20 15:03 ` [PATCH 03/52] perf c2c: Add c2c command Arnaldo Carvalho de Melo
2016-10-20 15:03 ` [PATCH 04/52] perf c2c: Add record subcommand Arnaldo Carvalho de Melo
2016-10-20 15:03 ` [PATCH 05/52] perf c2c: Add report subcommand Arnaldo Carvalho de Melo
2016-10-20 15:03 ` [PATCH 06/52] perf c2c report: Add dimension support Arnaldo Carvalho de Melo
2016-10-20 15:03 ` [PATCH 07/52] perf c2c report: Add sort_entry " Arnaldo Carvalho de Melo
2016-10-20 15:03 ` [PATCH 08/52] perf c2c report: Fallback to standard dimensions Arnaldo Carvalho de Melo
2016-10-20 15:03 ` [PATCH 09/52] perf c2c report: Add sample processing Arnaldo Carvalho de Melo
2016-10-20 15:03 ` [PATCH 10/52] perf c2c report: Add cacheline hists processing Arnaldo Carvalho de Melo
2016-10-20 15:03 ` [PATCH 11/52] perf c2c report: Decode c2c_stats for hist entries Arnaldo Carvalho de Melo
2016-10-20 15:03 ` [PATCH 12/52] perf c2c report: Add header macros Arnaldo Carvalho de Melo
2016-10-20 15:03 ` [PATCH 13/52] perf c2c report: Add 'dcacheline' dimension key Arnaldo Carvalho de Melo
2016-10-20 15:03 ` [PATCH 14/52] perf c2c report: Add 'offset' " Arnaldo Carvalho de Melo
2016-10-20 15:03 ` [PATCH 15/52] perf c2c report: Add 'iaddr' " Arnaldo Carvalho de Melo
2016-10-20 15:04 ` [PATCH 16/52] perf c2c report: Add hitm related dimension keys Arnaldo Carvalho de Melo
2016-10-20 15:04 ` [PATCH 17/52] perf c2c report: Add stores " Arnaldo Carvalho de Melo
2016-10-20 15:04 ` [PATCH 18/52] perf c2c report: Add loads " Arnaldo Carvalho de Melo
2016-10-20 15:04 ` [PATCH 19/52] perf c2c report: Add llc and remote " Arnaldo Carvalho de Melo
2016-10-20 15:04 ` [PATCH 20/52] perf c2c report: Add llc load miss dimension key Arnaldo Carvalho de Melo
2016-10-20 15:04 ` [PATCH 21/52] perf c2c report: Add total record sort key Arnaldo Carvalho de Melo
2016-10-20 15:04 ` [PATCH 22/52] perf c2c report: Add total loads " Arnaldo Carvalho de Melo
2016-10-20 15:04 ` [PATCH 23/52] perf c2c report: Add hitm percent " Arnaldo Carvalho de Melo
2016-10-20 15:04 ` [PATCH 24/52] perf c2c report: Add hitm/store percent related sort keys Arnaldo Carvalho de Melo
2016-10-20 15:04 ` [PATCH 25/52] perf c2c report: Add dram " Arnaldo Carvalho de Melo
2016-10-20 15:04 ` [PATCH 26/52] perf c2c report: Add 'pid' sort key Arnaldo Carvalho de Melo
2016-10-20 15:04 ` [PATCH 27/52] perf c2c report: Add 'tid' " Arnaldo Carvalho de Melo
2016-10-20 15:04 ` [PATCH 28/52] perf c2c report: Add 'symbol' and 'dso' sort keys Arnaldo Carvalho de Melo
2016-10-20 15:04 ` [PATCH 29/52] perf c2c report: Add 'node' sort key Arnaldo Carvalho de Melo
2016-10-20 15:04 ` [PATCH 30/52] perf c2c report: Add stats related sort keys Arnaldo Carvalho de Melo
2016-10-20 15:04 ` [PATCH 31/52] perf c2c report: Add 'cpucnt' sort key Arnaldo Carvalho de Melo
2016-10-20 15:04 ` [PATCH 32/52] perf c2c report: Add src line " Arnaldo Carvalho de Melo
2016-10-20 15:04 ` [PATCH 33/52] perf c2c report: Setup number of header lines for hists Arnaldo Carvalho de Melo
2016-10-20 15:04 ` [PATCH 34/52] perf c2c report: Set final resort fields Arnaldo Carvalho de Melo
2016-10-20 15:04 ` [PATCH 35/52] perf c2c report: Add stdio output support Arnaldo Carvalho de Melo
2016-10-20 15:04 ` [PATCH 36/52] perf c2c report: Add main TUI browser Arnaldo Carvalho de Melo
2016-10-20 15:04 ` [PATCH 37/52] perf c2c report: Add TUI cacheline browser Arnaldo Carvalho de Melo
2016-10-20 15:04 ` [PATCH 38/52] perf c2c report: Add global stats stdio output Arnaldo Carvalho de Melo
2016-10-20 15:04 ` [PATCH 39/52] perf c2c report: Add shared cachelines " Arnaldo Carvalho de Melo
2016-10-20 15:04 ` [PATCH 40/52] perf c2c report: Add c2c related " Arnaldo Carvalho de Melo
2016-10-20 15:04 ` [PATCH 41/52] perf c2c report: Allow to report callchains Arnaldo Carvalho de Melo
2016-10-20 15:04 ` [PATCH 42/52] perf c2c report: Limit the cachelines table entries Arnaldo Carvalho de Melo
2016-10-20 15:04 ` [PATCH 43/52] perf c2c report: Add support to choose local HITMs Arnaldo Carvalho de Melo
2016-10-20 15:04 ` [PATCH 44/52] perf c2c report: Allow to set cacheline sort fields Arnaldo Carvalho de Melo
2016-10-20 15:04 ` [PATCH 45/52] perf c2c report: Recalc width of global sort entries Arnaldo Carvalho de Melo
2016-10-20 15:04 ` [PATCH 46/52] perf c2c report: Add cacheline index entry Arnaldo Carvalho de Melo
2016-10-20 15:04 ` [PATCH 47/52] perf c2c report: Add support to manage symbol name length Arnaldo Carvalho de Melo
2016-10-20 15:04 ` [PATCH 48/52] perf c2c report: Iterate node display in browser Arnaldo Carvalho de Melo
2016-10-20 15:04 ` [PATCH 49/52] perf c2c report: Add help windows Arnaldo Carvalho de Melo
2016-10-20 15:04 ` [PATCH 50/52] perf c2c: Add man page and credits Arnaldo Carvalho de Melo
2016-10-20 15:04 ` [PATCH 51/52] perf c2c report: Add --no-source option Arnaldo Carvalho de Melo
2016-10-20 15:04 ` [PATCH 52/52] perf c2c report: Add --show-all option Arnaldo Carvalho de Melo
2016-10-20 23:02 ` Kim Phillips [this message]
2016-10-21 0:17 ` [PATCH] perf c2c report: Properly check data presence in rb_tree loop Jiri Olsa
2016-10-21 19:23 ` Kim Phillips
2016-10-22 8:49 ` [tip:perf/core] perf c2c report: Add main TUI browser tip-bot for Jiri Olsa
2016-10-21 0:21 ` [GIT PULL 00/52] New Tool: perf c2c Jiri Olsa
2016-10-22 8:28 ` Ingo Molnar
2016-10-23 11:05 ` Jiri Olsa
2016-10-23 23:47 ` Andi Kleen
2016-10-24 6:32 ` Jiri Olsa
2016-10-24 9:23 ` Ingo Molnar
2016-10-24 9:42 ` Jiri Olsa
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20161020180224.23b087c217663cd262ddc873@arm.com \
--to=kim.phillips@arm.com \
--cc=a.p.zijlstra@chello.nl \
--cc=acme@kernel.org \
--cc=acme@redhat.com \
--cc=andi@firstfloor.org \
--cc=dsahern@gmail.com \
--cc=dzickus@redhat.com \
--cc=jmario@redhat.com \
--cc=jolsa@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lwn@lwn.net \
--cc=mingo@kernel.org \
--cc=namhyung@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.