[PATCH 0/3] perf tools: Add libdw DWARF post unwind support for ARM
Jean Pihet
jean.pihet at linaro.org
Mon Mar 3 20:24:37 EST 2014
Hi,
Here are some notes about the performance improvement and the test usage.
Jiri, do you need these notes in the one of commit description?
1. Using libdw vs libunwind on ARMv7
The performance gain is (more than) significant: >800%.
I did not profile perf itself ;-p just did a timing measurement.
The benchmark has been run multiple times with different perf.data
sizes. The results are consistent across the tests runs.
Usage:
./tools/perf/perf record --call-graph dwarf --
../../libunwind/test_app/stress_bt
time ./tools/perf/perf report --stdio > /dev/null 2>&1
Platform:
Quad-core marvell XP370. perf runs on 1 cpu
Perf data size:
304MB libunwind libdw improvement
real 9m31.577s 1m13.052s 782%
user 5m33.020s 1m2.910s 529%
sys 3m57.770s 0m10.090s 2356%
2. unwind test usage
perf test list gives the list of supported tests. In this case the
test #23 is dwarf unwinding:
./tools/perf/perf test 23
23: Test dwarf unwind : Ok
Regards,
Jean
On 3 March 2014 10:53, Jean Pihet <jean.pihet at linaro.org> wrote:
> Adding libdw DWARF post unwind support, which is part
> of elfutils-devel/libdw-dev package from version 0.158.
>
> Also includes the test suite for dwarf unwinding, by adding the
> arch specific test code and the perf_regs_load function.
>
> Jean Pihet (3):
> perf tests: Introduce perf_regs_load function on ARM
> perf tests: Add dwarf unwind test on ARM
> perf tools: Add libdw DWARF post unwind support for ARM
>
> tools/perf/Makefile.perf | 2 +-
> tools/perf/arch/arm/Makefile | 7 ++++
> tools/perf/arch/arm/include/perf_regs.h | 5 +++
> tools/perf/arch/arm/tests/dwarf-unwind.c | 59 ++++++++++++++++++++++++++++++++
> tools/perf/arch/arm/tests/regs_load.S | 51 +++++++++++++++++++++++++++
> tools/perf/arch/arm/util/unwind-libdw.c | 36 +++++++++++++++++++
> tools/perf/tests/builtin-test.c | 2 +-
> tools/perf/tests/tests.h | 2 +-
> 8 files changed, 161 insertions(+), 3 deletions(-)
> create mode 100644 tools/perf/arch/arm/tests/dwarf-unwind.c
> create mode 100644 tools/perf/arch/arm/tests/regs_load.S
> create mode 100644 tools/perf/arch/arm/util/unwind-libdw.c
>
> ---
>
> - Rebased on latest acme/perf/core git tree,
> - Tested on quad-core ARMv7 machine
>
> --
> 1.7.11.7
>
More information about the linux-arm-kernel
mailing list