mirror of
https://github.com/torvalds/linux.git
synced 2026-11-14 22:27:25 +01:00
Save samples with deferred callchains in a separate list and deliver
them after merging the user callchains. If users don't want to merge
they can set tool->merge_deferred_callchains to false to prevent the
behavior.
With previous result, now perf script will show the merged callchains.
$ perf script
...
pwd 2312 121.163435: 249113 cpu/cycles/P:
ffffffff845b78d8 __build_id_parse.isra.0+0x218 ([kernel.kallsyms])
ffffffff83bb5bf6 perf_event_mmap+0x2e6 ([kernel.kallsyms])
ffffffff83c31959 mprotect_fixup+0x1e9 ([kernel.kallsyms])
ffffffff83c31dc5 do_mprotect_pkey+0x2b5 ([kernel.kallsyms])
ffffffff83c3206f __x64_sys_mprotect+0x1f ([kernel.kallsyms])
ffffffff845e6692 do_syscall_64+0x62 ([kernel.kallsyms])
ffffffff8360012f entry_SYSCALL_64_after_hwframe+0x76 ([kernel.kallsyms])
7f18fe337fa7 mprotect+0x7 (/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2)
7f18fe330e0f _dl_sysdep_start+0x7f (/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2)
7f18fe331448 _dl_start_user+0x0 (/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2)
...
The old output can be get using --no-merge-callchain option.
Also perf report can get the user callchain entry at the end.
$ perf report --no-children --stdio -q -S __build_id_parse.isra.0
# symbol: __build_id_parse.isra.0
8.40% pwd [kernel.kallsyms]
|
---__build_id_parse.isra.0
perf_event_mmap
mprotect_fixup
do_mprotect_pkey
__x64_sys_mprotect
do_syscall_64
entry_SYSCALL_64_after_hwframe
mprotect
_dl_sysdep_start
_dl_start_user
Reviewed-by: Ian Rogers <irogers@google.com>
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
|
||
|---|---|---|
| .. | ||
| android.txt | ||
| arm-coresight.txt | ||
| asciidoc.conf | ||
| asciidoctor-extensions.rb | ||
| build-docdep.perl | ||
| build-xed.txt | ||
| Build.txt | ||
| callchain-overhead-calculation.txt | ||
| cat-texi.perl | ||
| cpu-and-latency-overheads.txt | ||
| db-export.txt | ||
| examples.txt | ||
| guest-files.txt | ||
| guestmount.txt | ||
| intel-acr.txt | ||
| intel-bts.txt | ||
| intel-hybrid.txt | ||
| intel-pt.txt | ||
| itrace.txt | ||
| jit-interface.txt | ||
| jitdump-specification.txt | ||
| Makefile | ||
| manpage-1.72.xsl | ||
| manpage-base.xsl | ||
| manpage-bold-literal.xsl | ||
| manpage-normal.xsl | ||
| manpage-suppress-sp.xsl | ||
| perf-amd-ibs.txt | ||
| perf-annotate.txt | ||
| perf-archive.txt | ||
| perf-arm-spe.txt | ||
| perf-bench.txt | ||
| perf-buildid-cache.txt | ||
| perf-buildid-list.txt | ||
| perf-c2c.txt | ||
| perf-check.txt | ||
| perf-config.txt | ||
| perf-daemon.txt | ||
| perf-data.txt | ||
| perf-diff.txt | ||
| perf-dlfilter.txt | ||
| perf-evlist.txt | ||
| perf-ftrace.txt | ||
| perf-help.txt | ||
| perf-inject.txt | ||
| perf-intel-pt.txt | ||
| perf-iostat.txt | ||
| perf-kallsyms.txt | ||
| perf-kmem.txt | ||
| perf-kvm.txt | ||
| perf-kwork.txt | ||
| perf-list.txt | ||
| perf-lock.txt | ||
| perf-mem.txt | ||
| perf-probe.txt | ||
| perf-record.txt | ||
| perf-report.txt | ||
| perf-sched.txt | ||
| perf-script-perl.txt | ||
| perf-script-python.txt | ||
| perf-script.txt | ||
| perf-stat.txt | ||
| perf-test.txt | ||
| perf-timechart.txt | ||
| perf-top.txt | ||
| perf-trace.txt | ||
| perf-version.txt | ||
| perf.data-directory-format.txt | ||
| perf.data-file-format.txt | ||
| perf.txt | ||
| perfconfig.example | ||
| security.txt | ||
| tips.txt | ||
| topdown.txt | ||