* [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; 8+ 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] 8+ 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; 8+ 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] 8+ 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; 8+ 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] 8+ 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; 8+ 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] 8+ 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; 8+ 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] 8+ messages in thread
* [PATCH 0/3] ARM64: add perf support
@ 2013-12-16 16:54 Jean Pihet
2013-12-16 17:32 ` Will Deacon
0 siblings, 1 reply; 8+ messages in thread
From: Jean Pihet @ 2013-12-16 16:54 UTC (permalink / raw)
To: linux-arm-kernel
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] 8+ messages in thread
* [PATCH 0/3] ARM64: add perf support
2013-12-16 16:54 Jean Pihet
@ 2013-12-16 17:32 ` Will Deacon
2013-12-16 17:42 ` Jean Pihet
0 siblings, 1 reply; 8+ messages in thread
From: Will Deacon @ 2013-12-16 17:32 UTC (permalink / raw)
To: linux-arm-kernel
Jean,
On Mon, Dec 16, 2013 at 04:54:30PM +0000, Jean Pihet wrote:
> Add perf support for the AARCH64 architecture. This includes the
> support for:
To be fair, we do have perf support already. This is extending what we have
by adding additional arch-specific stuff.
> - 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.
Why did you send out two copies of this series to different lists? Which one
should I be looking at?
/confused
Will
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 0/3] ARM64: add perf support
2013-12-16 17:32 ` Will Deacon
@ 2013-12-16 17:42 ` Jean Pihet
0 siblings, 0 replies; 8+ messages in thread
From: Jean Pihet @ 2013-12-16 17:42 UTC (permalink / raw)
To: linux-arm-kernel
Hi Will,
On 16 December 2013 18:32, Will Deacon <will.deacon@arm.com> wrote:
> Jean,
>
> On Mon, Dec 16, 2013 at 04:54:30PM +0000, Jean Pihet wrote:
>> Add perf support for the AARCH64 architecture. This includes the
>> support for:
>
> To be fair, we do have perf support already. This is extending what we have
> by adding additional arch-specific stuff.
Ok I can change the descriptions accordingly.
>> - 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.
>
> Why did you send out two copies of this series to different lists? Which one
> should I be looking at?
The two copies actually are the same patches. I just forgot the l-a-k
ML address first and so re-sent the series. Sorry about that ;-|
> /confused
Thx for looking at the series!
>
> Will
Jean
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2013-12-30 16:28 UTC | newest]
Thread overview: 8+ 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
-- strict thread matches above, loose matches on Subject: below --
2013-12-16 16:54 Jean Pihet
2013-12-16 17:32 ` Will Deacon
2013-12-16 17:42 ` Jean Pihet
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.