diff options
author | Namhyung Kim <namhyung@kernel.org> | 2017-10-20 14:15:33 +0900 |
---|---|---|
committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2017-10-31 16:14:50 -0300 |
commit | d6332a176b869df1839abb26c8f80026a66d21d6 (patch) | |
tree | 9e01c349472558def29b2cc337f29e1410cb86a1 /tools/include | |
parent | 021b462a51de48dd84f12f5046b5b57a362d6506 (diff) | |
download | linux-d6332a176b869df1839abb26c8f80026a66d21d6.tar.gz linux-d6332a176b869df1839abb26c8f80026a66d21d6.tar.bz2 linux-d6332a176b869df1839abb26c8f80026a66d21d6.zip |
perf callchain: Fix double mapping al->addr for children without self period
Milian Wolff found a problem he described in [1] and that for him would
get fixed:
"Note how most of the large offset values are now gone. Most notably, we
get proper srcline resolution for the random.h and complex headers."
Then Namhyung found the root cause:
"I looked into it and found a bug handling cumulative (children)
entries. For children entries that have no self period, the al->addr (so
he->ip) ends up having an doubly-mapped address.
It seems to be there from the beginning but only affects entries that
have no srclines - finding srcline itself is done using a different
address but it will show the invalid address if no srcline was found. I
think we should fix the commit c7405d85d7a3 ("perf tools: Update cpumode
for each cumulative entry")."
[1] https://lkml.kernel.org/r/20171018185350.14893-7-milian.wolff@kdab.com
Reported-by: Milian Wolff <milian.wolff@kdab.com>
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Tested-by: Milian Wolff <milian.wolff@kdab.com>
Cc: Jin Yao <yao.jin@linux.intel.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: kernel-team@lge.com
Fixes: c7405d85d7a3 ("perf tools: Update cpumode for each cumulative entry")
Link: https://lkml.kernel.org/r/20171020051533.GA2746@sejong
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/include')
0 files changed, 0 insertions, 0 deletions