[PATCH 0/3] perf tools: Add libdw DWARF post unwind support for ARM
Jiri Olsa
jolsa at redhat.com
Tue Mar 4 05:37:59 EST 2014
On Tue, Mar 04, 2014 at 02:24:37AM +0100, Jean Pihet wrote:
> 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 dont mind.. but 800% would look just great in changelog ;-)
jirka
>
> 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