Re: [PATCH 0/3] ARM64: add perf support

Will Deacon
2013-12-17T11:02:41Z

On Tue, Dec 17, 2013 at 10:45:34AM +0000, Ingo Molnar wrote:
> * jean.pihet@linaro.org <jean.pihet@linaro.org> wrote:
> > From: Jean Pihet <jean.pihet@linaro.org>
> >
> > Add perf support for the AARCH64 architecture. This includes the
> > support for:
> > - AARCH64 perf registers definition and hooks,
> > - compat mode registers use, i.e. profiling a 32-bit binary on
> > a 64-bit system,
> > - unwinding using the dwarf information from the .debug_frame
> > section of the ELF binary; only in 64-bit mode,
> > - unwinding using the frame pointer information; in 64-bit and
> > compat modes.
> >
> > ToDo:
> > - add support for unwinding using the dwarf information in compat
> > mode. This requires some changes to the libunwind code.
> >
> > Tested on ARMv7 and ARMv8 platforms. The compat mode has been tested
> > on ARMv8 using statically built 32-bit binaries.
> >
> >
> > Jean Pihet (3):
> > ARM64: perf: add support for perf registers API
> > ARM64: perf: wire up perf_regs and unwind support
> > ARM64: perf: add support for frame pointer unwinding in compat mode
> >
> > arch/arm64/Kconfig | 2 +
> > arch/arm64/include/asm/ptrace.h | 1 +
> > arch/arm64/include/uapi/asm/Kbuild | 1 +
> > arch/arm64/include/uapi/asm/perf_regs.h | 40 ++++++++++++++
> > arch/arm64/kernel/Makefile | 1 +
> > arch/arm64/kernel/perf_event.c | 75 +++++++++++++++++++++++---
> > arch/arm64/kernel/perf_regs.c | 46 ++++++++++++++++
> > tools/perf/arch/arm64/Makefile | 7 +++
> > tools/perf/arch/arm64/include/perf_regs.h | 88 +++++++++++++++++++++++++++++++
> > tools/perf/arch/arm64/util/dwarf-regs.c | 81 ++++++++++++++++++++++++++++
> > tools/perf/arch/arm64/util/unwind.c | 82 ++++++++++++++++++++++++++++
> > tools/perf/config/Makefile | 8 ++-
> > 12 files changed, 423 insertions(+), 9 deletions(-)
> > create mode 100644 arch/arm64/include/uapi/asm/perf_regs.h
> > create mode 100644 arch/arm64/kernel/perf_regs.c
> > create mode 100644 tools/perf/arch/arm64/Makefile
> > create mode 100644 tools/perf/arch/arm64/include/perf_regs.h
> > create mode 100644 tools/perf/arch/arm64/util/dwarf-regs.c
> > create mode 100644 tools/perf/arch/arm64/util/unwind.c
>
> Arnaldo, AFAICS the main merging complexity will probably be on the
> perf tooling side, so if you are happy with these bits, mind picking
> them up into your tree?

Hold your horses! I've got a few review comments on the series...

Will