Messages in this thread | | | Date | Thu, 26 Nov 2015 08:43:35 +0100 | From | Ingo Molnar <> | Subject | Re: [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
| |