public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [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