alistair23-linux/tools
Arnaldo Carvalho de Melo 4c9cb2c2b4 perf annotate: Use ops->target.name when available for unresolved call targets
There is a bug where when using 'perf annotate timerqueue_add' the
target for its only routine called with the 'callq' instruction,
'rb_insert_color', doesn't get resolved from its address when parsing
that 'callq' instruction.

That symbol resolution works when using 'perf report --tui' and then
doing annotation for 'timerqueue_add' from there, the vmlinux
dso->symbols rb_tree somehow gets in a state that we can't find that
address, that is a bug that has to be further investigated.

But since the objdump output has the function name, i.e. the raw objdump
disassembled line looks like:

So, before:

  # perf annotate timerqueue_add

              │      mov    %rbx,%rdi
              │      mov    %rbx,(%rdx)
              │    → callq  *ffffffff8184dc80
              │      mov    0x8(%rbp),%rdx
              │      test   %rdx,%rdx
              │    ↓ je     67

  # perf report

              │      mov    %rbx,%rdi
              │      mov    %rbx,(%rdx)
              │    → callq  rb_insert_color
              │      mov    0x8(%rbp),%rdx
              │      test   %rdx,%rdx
              │    ↓ je     67

And after both look the same:

  # perf annotate timerqueue_add

              │      mov    %rbx,%rdi
              │      mov    %rbx,(%rdx)
              │    → callq  rb_insert_color
              │      mov    0x8(%rbp),%rdx
              │      test   %rdx,%rdx
              │    ↓ je     67

From 'perf report' one can annotate and navigate to that 'rb_insert_color'
function, but not directly from 'perf annotate timerqueue_add', that
remains to be investigated and fixed.

Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Jin Yao <yao.jin@linux.intel.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Wang Nan <wangnan0@huawei.com>
Link: https://lkml.kernel.org/n/tip-nkktz6355rhqtq7o8atr8f8r@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2018-03-19 13:51:52 -03:00
..
accounting
arch Merge branch 'perf/urgent' into perf/core, to resolve conflict 2018-03-07 09:23:12 +01:00
bpf tools: bpftool: preserve JSON output on errors on batch file parsing 2018-02-15 10:01:05 +01:00
build perf build: Force llvm/clang test compile output to .make.output 2018-03-08 11:30:50 -03:00
cgroup tools: fix cross-compile var clobbering 2018-02-21 15:35:42 -08:00
firewire
gpio tools: fix cross-compile var clobbering 2018-02-21 15:35:42 -08:00
hv tools: fix cross-compile var clobbering 2018-02-21 15:35:42 -08:00
iio tools: fix cross-compile var clobbering 2018-02-21 15:35:42 -08:00
include perf/core: Implement fast breakpoint modification via _IOC_MODIFY_ATTRIBUTES 2018-03-13 15:24:02 +01:00
kvm/kvm_stat tools/kvm_stat: print 'Total' line for multiple events only 2018-02-24 01:43:46 +01:00
laptop tools: fix cross-compile var clobbering 2018-02-21 15:35:42 -08:00
leds tools: fix cross-compile var clobbering 2018-02-21 15:35:42 -08:00
lib Linux 4.16-rc4 2018-03-06 07:30:22 +01:00
nfsd
objtool objtool: Fix another switch table detection issue 2018-02-28 16:03:19 +01:00
pci
pcmcia
perf perf annotate: Use ops->target.name when available for unresolved call targets 2018-03-19 13:51:52 -03:00
power tools: fix cross-compile var clobbering 2018-02-21 15:35:42 -08:00
scripts tools: fix cross-compile var clobbering 2018-02-21 15:35:42 -08:00
spi tools: fix cross-compile var clobbering 2018-02-21 15:35:42 -08:00
testing Merge tag 'linux-kselftest-4.16-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest 2018-02-28 13:38:52 -08:00
thermal/tmon Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux 2017-11-17 14:31:27 -08:00
time
usb tools: fix cross-compile var clobbering 2018-02-21 15:35:42 -08:00
virtio virtio, vhost: fixes, cleanups, features 2018-02-08 10:41:00 -08:00
vm tools: fix cross-compile var clobbering 2018-02-21 15:35:42 -08:00
wmi tools: fix cross-compile var clobbering 2018-02-21 15:35:42 -08:00
Makefile platform-drivers-x86 for v4.15-1 2017-11-18 10:26:57 -08:00