Re: [PATCH v6 0/7] perf: Cross arch annotate + few miscellaneous fixes
From: Ravi Bangoria
Date: Wed Sep 07 2016 - 11:40:26 EST
Hello,
Any update on this?
-Ravi
On Friday 19 August 2016 06:29 PM, Ravi Bangoria wrote:
> Currently Perf annotate support code navigation (branches and calls)
> only when run on the same architecture where perf.data was recorded.
> But, for example, record on powerpc server and annotate on client's
> x86 desktop is not supported.
>
> This patchset enables cross arch annotate. Currently I've used x86
> and arm instructions which are already available and added support
> for powerpc.
>
> Additionally this patch series also contains few other related fixes.
>
> Patches are prepared on top of acme/perf/core and tested it with x86
> and powerpc only.
>
> Note for arm:
> I don't have arm test machine. As suggested by Russell in one of the
> review comment, I've copied all instructions from default table to
> arm table. This way it want break tool on arm but cleanup is needed
> for x86 specific instructions added in arm table.
>
> Example:
>
> Record on powerpc:
> $ ./perf record -a
>
> Report -> Annotate on x86:
> $ ./perf report -i perf.data.powerpc --vmlinux vmlinux.powerpc
>
> Changes in v6:
> - Instead of adding only those instructions defined in #ifdef __arm__,
> add all instructions from default table to arm table.
>
> v5 link:
> https://lkml.org/lkml/2016/8/19/35
>
> Naveen N. Rao (1):
> perf annotate: Add support for powerpc
>
> Ravi Bangoria (6):
> perf: Define macro for normalized arch names
> perf annotate: Add cross arch annotate support
> perf annotate: Do not ignore call instruction with indirect target
> perf annotate: Show raw form for jump instruction with indirect target
> perf annotate: Support jump instruction with target as second operand
> perf annotate: Fix jump target outside of function address range
>
> tools/perf/arch/common.c | 36 ++--
> tools/perf/arch/common.h | 11 ++
> tools/perf/builtin-top.c | 2 +-
> tools/perf/ui/browsers/annotate.c | 8 +-
> tools/perf/ui/gtk/annotate.c | 2 +-
> tools/perf/util/annotate.c | 330 +++++++++++++++++++++++++++++++------
> tools/perf/util/annotate.h | 10 +-
> tools/perf/util/unwind-libunwind.c | 4 +-
> 8 files changed, 327 insertions(+), 76 deletions(-)
>