lkml.org 
[lkml]   [2015]   [Nov]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 2/3] perf callchain: Stop resolving callchains after invalid address

* Namhyung Kim <namhyung@kernel.org> wrote:

> Unwinding optimized binaries using frame pointer gives garbage. Check
> callchain address and stop if it's under vm.mmap_min_addr sysctl value.
>
> Before:
> $ perf report --stdio --no-children -g callee
> ...
>
> 1.37% perf [kernel.vmlinux] [k] smp_call_function_single
> |
> ---smp_call_function_single
> _perf_event_enable
> perf_event_for_each_child
> perf_ioctl
> do_vfs_ioctl
> sys_ioctl
> entry_SYSCALL_64_fastpath
> __GI___ioctl
> 0
> 0
> 0x1c5aa70
> 0x1c5b910
> 0x1c5aa70
> 0x1c5b910
> 0x1c5aa70
> 0x1c5b910
> 0x1c5aa70
> 0x1c5b910
> 0x1c5aa70
> 0x1c5b910
> ...
>
> After:
> $ perf report --stdio --no-children -g callee
> ...
>
> 1.37% perf [kernel.vmlinux] [k] smp_call_function_single
> |
> ---smp_call_function_single
> _perf_event_enable
> perf_event_for_each_child
> perf_ioctl
> do_vfs_ioctl
> sys_ioctl
> entry_SYSCALL_64_fastpath
> __GI___ioctl

In addition to that, would it make sense to terminate the callchain with an
indicator that we found something anomalous? Such an extra line:

...

would not be intrusive, but would tell the informed reader that it's not a normal
ending of the call chain.

This assumes that we can tell apart 'normal end of call chain' from 'seems to end
with garbage poiner' cases - can do we that?

Thanks,

Ingo


\
 
 \ /
  Last update: 2015-11-26 09:01    [W:0.118 / U:0.064 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site