* [PATCH 0/3] ARM64: add perf support
@ 2013-12-16 16:49 jean.pihet
2013-12-17 10:45 ` Ingo Molnar
0 siblings, 1 reply; 5+ messages in thread
From: jean.pihet @ 2013-12-16 16:49 UTC (permalink / raw)
To: linux-kernel, linaro-kernel, Arnaldo, Will Deacon
Cc: patches, Jiri Olsa, Ingo Molnar, Jean Pihet
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
--
1.7.11.7
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 0/3] ARM64: add perf support
2013-12-16 16:49 [PATCH 0/3] ARM64: add perf support jean.pihet
@ 2013-12-17 10:45 ` Ingo Molnar
2013-12-17 11:01 ` Will Deacon
0 siblings, 1 reply; 5+ messages in thread
From: Ingo Molnar @ 2013-12-17 10:45 UTC (permalink / raw)
To: jean.pihet, Arnaldo Carvalho de Melo
Cc: linux-kernel, linaro-kernel, Arnaldo, Will Deacon, patches,
Jiri Olsa
* 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?
Thanks,
Ingo
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 0/3] ARM64: add perf support
2013-12-17 10:45 ` Ingo Molnar
@ 2013-12-17 11:01 ` Will Deacon
2013-12-17 11:08 ` Ingo Molnar
0 siblings, 1 reply; 5+ messages in thread
From: Will Deacon @ 2013-12-17 11:01 UTC (permalink / raw)
To: Ingo Molnar
Cc: jean.pihet@linaro.org, Arnaldo Carvalho de Melo,
linux-kernel@vger.kernel.org, linaro-kernel@lists.linaro.org,
Arnaldo, patches@linaro.org, Jiri Olsa
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
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 0/3] ARM64: add perf support
2013-12-17 11:01 ` Will Deacon
@ 2013-12-17 11:08 ` Ingo Molnar
2013-12-30 16:28 ` Jean Pihet
0 siblings, 1 reply; 5+ messages in thread
From: Ingo Molnar @ 2013-12-17 11:08 UTC (permalink / raw)
To: Will Deacon
Cc: jean.pihet@linaro.org, Arnaldo Carvalho de Melo,
linux-kernel@vger.kernel.org, linaro-kernel@lists.linaro.org,
Arnaldo, patches@linaro.org, Jiri Olsa
* Will Deacon <will.deacon@arm.com> wrote:
> 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...
Sure :-)
Thanks,
Ingo
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 0/3] ARM64: add perf support
2013-12-17 11:08 ` Ingo Molnar
@ 2013-12-30 16:28 ` Jean Pihet
0 siblings, 0 replies; 5+ messages in thread
From: Jean Pihet @ 2013-12-30 16:28 UTC (permalink / raw)
To: Ingo Molnar, Will Deacon
Cc: Arnaldo Carvalho de Melo, linux-kernel@vger.kernel.org,
linaro-kernel@lists.linaro.org, Arnaldo, patches@linaro.org,
Jiri Olsa
Hi Will, Ingo,
The series has been updated after the comments and re-submitted.
Thanks!
Jean
On 17 December 2013 12:08, Ingo Molnar <mingo@kernel.org> wrote:
>
> * Will Deacon <will.deacon@arm.com> wrote:
>
>> 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...
>
> Sure :-)
>
> Thanks,
>
> Ingo
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2013-12-30 16:28 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-12-16 16:49 [PATCH 0/3] ARM64: add perf support jean.pihet
2013-12-17 10:45 ` Ingo Molnar
2013-12-17 11:01 ` Will Deacon
2013-12-17 11:08 ` Ingo Molnar
2013-12-30 16:28 ` Jean Pihet
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox