Milian Wolff
5ea0416f51
perf report: Include partial stacks unwound with libdw
...
So far the whole stack was thrown away when any error occurred before
the maximum stack depth was unwound. This is actually a very common
scenario though. The stacks that got unwound so far are still
interesting. This removes a large chunk of differences when comparing
perf script output for libunwind and libdw perf unwinding.
E.g. with libunwind:
~~~~~
heaptrack_gui 2228 135073.388524: 479408 cycles:
ffffffff811749ed perf_iterate_ctx ([kernel.kallsyms])
ffffffff81181662 perf_event_mmap ([kernel.kallsyms])
ffffffff811cf5ed mmap_region ([kernel.kallsyms])
ffffffff811cfe6b do_mmap ([kernel.kallsyms])
ffffffff811b0dca vm_mmap_pgoff ([kernel.kallsyms])
ffffffff811cdb0c sys_mmap_pgoff ([kernel.kallsyms])
ffffffff81033acb sys_mmap ([kernel.kallsyms])
ffffffff81631d37 entry_SYSCALL_64_fastpath ([kernel.kallsyms])
192ca mmap64 (/usr/lib/ld-2.25.so)
59a9 _dl_map_object_from_fd (/usr/lib/ld-2.25.so)
83d0 _dl_map_object (/usr/lib/ld-2.25.so)
cda1 openaux (/usr/lib/ld-2.25.so)
1834f _dl_catch_error (/usr/lib/ld-2.25.so)
cfe2 _dl_map_object_deps (/usr/lib/ld-2.25.so)
3481 dl_main (/usr/lib/ld-2.25.so)
17387 _dl_sysdep_start (/usr/lib/ld-2.25.so)
4d37 _dl_start (/usr/lib/ld-2.25.so)
d87 _start (/usr/lib/ld-2.25.so)
heaptrack_gui 2228 135073.388677: 611329 cycles:
1a3e0 strcmp (/usr/lib/ld-2.25.so)
82b2 _dl_map_object (/usr/lib/ld-2.25.so)
cda1 openaux (/usr/lib/ld-2.25.so)
1834f _dl_catch_error (/usr/lib/ld-2.25.so)
cfe2 _dl_map_object_deps (/usr/lib/ld-2.25.so)
3481 dl_main (/usr/lib/ld-2.25.so)
17387 _dl_sysdep_start (/usr/lib/ld-2.25.so)
4d37 _dl_start (/usr/lib/ld-2.25.so)
d87 _start (/usr/lib/ld-2.25.so)
~~~~~
With libdw without this patch:
~~~~~
heaptrack_gui 2228 135073.388524: 479408 cycles:
ffffffff811749ed perf_iterate_ctx ([kernel.kallsyms])
ffffffff81181662 perf_event_mmap ([kernel.kallsyms])
ffffffff811cf5ed mmap_region ([kernel.kallsyms])
ffffffff811cfe6b do_mmap ([kernel.kallsyms])
ffffffff811b0dca vm_mmap_pgoff ([kernel.kallsyms])
ffffffff811cdb0c sys_mmap_pgoff ([kernel.kallsyms])
ffffffff81033acb sys_mmap ([kernel.kallsyms])
ffffffff81631d37 entry_SYSCALL_64_fastpath ([kernel.kallsyms])
heaptrack_gui 2228 135073.388677: 611329 cycles:
~~~~~
With this patch applied, the libdw unwinder will produce the same
output as the libunwind unwinder.
Signed-off-by: Milian Wolff <milian.wolff@kdab.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Link: http://lkml.kernel.org/r/20170601210021.20046-1-milian.wolff@kdab.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2017-06-05 14:18:03 -03:00
..
2017-04-19 13:01:51 -03:00
2016-09-01 12:41:09 -03:00
2017-03-16 17:29:23 +01:00
2016-06-23 10:30:31 -03:00
2017-04-26 15:27:52 -03:00
2017-06-01 14:48:36 -03:00
2017-04-04 21:08:00 -03:00
2017-04-19 13:01:48 -03:00
2017-04-19 13:01:51 -03:00
2016-09-08 13:44:03 -03:00
2016-09-08 13:44:03 -03:00
2017-04-19 13:01:52 -03:00
2017-04-19 13:01:51 -03:00
2017-04-19 13:01:51 -03:00
2017-04-19 13:01:51 -03:00
2017-04-25 15:45:35 -03:00
2017-04-24 13:43:35 -03:00
2017-04-25 11:45:59 -03:00
2017-03-28 11:19:59 -03:00
2016-05-06 13:00:43 -03:00
2016-05-06 13:00:43 -03:00
2017-05-24 08:41:47 +02:00
2017-03-27 12:13:28 -03:00
2017-04-19 13:01:47 -03:00
2017-03-03 19:07:14 -03:00
2017-04-19 13:01:51 -03:00
2017-03-03 19:07:19 -03:00
2016-07-12 15:20:24 -03:00
2017-04-24 13:43:33 -03:00
2017-04-24 13:43:32 -03:00
2017-04-24 12:33:33 -03:00
2017-04-24 13:43:33 -03:00
2016-11-14 13:10:37 -03:00
2017-04-19 13:01:53 -03:00
2017-04-19 13:01:55 -03:00
2017-03-03 19:07:17 -03:00
2016-09-22 12:19:40 -03:00
2017-04-19 13:01:48 -03:00
2017-04-19 13:01:51 -03:00
2016-06-28 10:54:55 -03:00
2016-06-28 10:54:56 -03:00
2017-04-19 13:01:51 -03:00
2016-04-14 08:57:54 -03:00
2016-05-30 12:41:43 -03:00
2016-05-06 13:00:53 -03:00
2017-04-24 13:43:34 -03:00
2017-04-24 12:33:31 -03:00
2017-04-19 13:01:48 -03:00
2016-02-05 09:46:45 -03:00
2016-07-12 16:12:38 -03:00
2016-07-12 16:12:38 -03:00
2017-04-19 13:01:51 -03:00
2016-09-22 12:19:41 -03:00
2017-06-05 14:17:58 -03:00
2017-06-05 14:17:58 -03:00
2017-03-16 09:24:35 -03:00
2017-03-16 09:24:35 -03:00
2017-04-19 13:01:51 -03:00
2016-09-29 11:17:08 -03:00
2017-04-19 13:01:44 -03:00
2017-04-19 13:01:51 -03:00
2016-07-04 19:39:01 -03:00
2017-05-02 18:23:04 -03:00
2017-05-04 09:59:53 -03:00
2017-04-24 13:43:32 -03:00
2017-04-20 13:22:43 -03:00
2017-05-24 08:41:48 +02:00
2017-04-25 15:30:47 -03:00
2017-03-23 11:42:31 -03:00
2017-03-23 11:39:27 -03:00
2017-03-23 11:39:27 -03:00
2016-02-05 12:33:09 -03:00
2016-10-24 11:07:40 -03:00
2016-10-24 11:07:40 -03:00
2016-01-08 12:46:17 -03:00
2016-06-06 17:04:15 -03:00
2017-06-05 14:17:58 -03:00
2016-10-03 19:58:00 -03:00
2017-04-24 13:43:34 -03:00
2015-12-14 12:30:37 -03:00
2017-04-24 13:43:35 -03:00
2017-03-14 15:17:37 -03:00
2017-04-19 13:01:51 -03:00
2017-04-25 15:45:35 -03:00
2016-09-29 11:17:05 -03:00
2016-06-23 11:39:19 -03:00
2016-03-23 15:06:35 -03:00
2017-04-19 13:01:52 -03:00
2016-10-24 11:07:39 -03:00
2016-01-29 17:49:54 -03:00
2016-07-12 15:19:58 -03:00
2017-04-24 13:43:34 -03:00
2016-12-05 15:51:42 -03:00
2017-04-24 12:33:33 -03:00
2017-06-05 14:17:58 -03:00
2017-03-14 11:38:23 -03:00
2017-05-02 18:23:11 -03:00
2017-05-02 18:23:11 -03:00
2017-04-24 12:33:32 -03:00
2016-11-23 10:44:05 -03:00
2017-04-25 15:45:35 -03:00
2017-04-25 15:45:35 -03:00
2017-04-24 13:43:32 -03:00
2017-03-14 11:38:23 -03:00
2017-04-19 13:01:51 -03:00
2016-04-14 08:57:54 -03:00
2016-10-28 11:29:45 -02:00
2016-10-24 11:07:35 -03:00
2017-04-24 13:43:32 -03:00
2017-03-23 11:42:31 -03:00
2016-10-17 11:24:18 -03:00
2017-03-21 16:10:59 -03:00
2015-12-17 14:27:14 -03:00
2017-04-19 13:01:53 -03:00
2017-04-19 13:01:53 -03:00
2017-03-28 12:25:30 -03:00
2017-03-28 12:25:30 -03:00
2016-11-29 12:13:27 -03:00
2017-04-19 13:01:44 -03:00
2016-12-05 15:51:42 -03:00
2017-04-24 13:43:33 -03:00
2017-03-23 11:42:31 -03:00
2017-04-19 13:01:50 -03:00
2017-04-19 13:01:50 -03:00
2017-04-19 13:01:52 -03:00
2017-04-19 13:01:52 -03:00
2017-04-24 13:43:33 -03:00
2017-04-19 13:01:52 -03:00
2017-04-19 13:01:52 -03:00
2017-04-19 13:01:48 -03:00
2017-04-20 13:22:44 -03:00
2017-04-24 13:43:26 -03:00
2017-04-19 13:01:51 -03:00
2016-07-12 15:19:55 -03:00
2016-06-23 11:35:07 -03:00
2017-04-19 13:01:51 -03:00
2017-04-19 13:01:48 -03:00
2017-04-25 15:45:35 -03:00
2017-04-24 13:43:35 -03:00
2017-02-17 10:31:13 -03:00
2017-04-24 13:43:35 -03:00
2017-04-24 13:43:35 -03:00
2017-05-24 08:41:48 +02:00
2017-04-19 13:01:50 -03:00
2017-03-23 11:42:31 -03:00
2017-04-19 13:01:51 -03:00
2017-03-23 11:42:30 -03:00
2017-04-26 15:49:21 -03:00
2016-10-03 11:24:13 -03:00
2017-04-19 13:01:51 -03:00
2017-04-19 13:01:51 -03:00
2017-04-19 13:01:51 -03:00
2017-04-24 13:43:33 -03:00
2016-06-23 11:35:01 -03:00
2016-08-23 15:37:33 -03:00
2016-03-23 15:06:35 -03:00
2017-02-13 17:22:34 -03:00
2017-06-05 14:17:59 -03:00
2017-04-19 13:01:51 -03:00
2017-05-02 18:23:11 -03:00
2017-05-02 18:23:11 -03:00
2016-04-08 09:58:14 -03:00
2016-04-08 09:58:14 -03:00
2016-07-29 11:54:35 -03:00
2017-04-19 13:01:53 -03:00
2017-04-19 13:01:51 -03:00
2017-03-03 19:07:16 -03:00
2017-04-19 13:01:51 -03:00
2016-06-23 17:04:26 -03:00
2017-04-19 13:01:51 -03:00
2017-03-14 11:38:23 -03:00
2017-04-20 13:22:44 -03:00
2017-04-20 13:22:44 -03:00
2017-03-14 11:38:23 -03:00
2017-04-24 13:43:32 -03:00
2017-01-31 16:20:08 -03:00
2017-04-19 13:01:48 -03:00
2017-03-27 15:37:35 -03:00
2016-10-28 11:29:44 -02:00
2016-07-12 16:14:52 -03:00
2017-01-26 11:42:59 -03:00
2016-04-28 09:58:58 -03:00
2016-03-08 10:11:18 +01:00
2016-04-01 18:42:55 -03:00
2017-04-26 15:40:31 -03:00
2017-04-26 15:40:31 -03:00
2017-06-05 14:18:03 -03:00
2017-04-24 13:43:35 -03:00
2017-05-24 08:41:48 +02:00
2016-07-04 20:27:12 -03:00
2017-04-20 13:22:43 -03:00
2016-03-23 12:32:31 -03:00
2016-12-05 15:51:44 -03:00
2017-04-26 15:40:31 -03:00
2017-04-26 15:49:21 -03:00
2017-04-04 12:11:07 -03:00
2016-10-24 11:07:44 -03:00
2017-04-19 13:01:51 -03:00
2017-04-24 13:43:32 -03:00
2017-04-24 12:33:33 -03:00