linux-sh.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH V5 0/7] Generalise ARM perf-events backend for oprofile
@ 2010-10-09  0:46 Matt Fleming
  2010-10-09  0:46 ` [PATCH 1/7] perf: Add helper function to return number of counters Matt Fleming
                   ` (7 more replies)
  0 siblings, 8 replies; 20+ messages in thread
From: Matt Fleming @ 2010-10-09  0:46 UTC (permalink / raw)
  To: Robert Richter
  Cc: Will Deacon, Paul Mundt, Russell King, linux-arm-kernel, linux-sh,
	Peter Zijlstra, Ingo Molnar, Frederic Weisbecker,
	Arnaldo Carvalho de Melo, linux-arch, linux-kernel,
	Deng-Cheng Zhu, Grant Likely

The perf-events backend for OProfile that Will Deacon wrote in
8c1fc96f6fd1f361428ba805103af0d0eee65179 ("ARM: 6072/1: oprofile: use
perf-events framework as backend") is of use to more architectures
than just ARM. Move the code into drivers/oprofile/ so that SH can use
it instead of the nearly identical copy of its OProfile code.

The benefit of the backend is that it becomes necessary to only
maintain one copy of the PMU accessor functions for each architecture,
with bug fixes and new features benefiting both OProfile and perf.

Note that I haven't been able to test these patches on an ARM board to
see if I've caused any regressions. If anyone else could do that I'd
appreciate it. Though, I have been able to compile this version of the
series.

This patch series is based on,

    git://git.kernel.org/pub/scm/linux/kernel/git/rric/oprofile.git core

These patches can also be found at,

    git://git.kernel.org/pub/scm/linux/kernel/git/mfleming/sh-2.6.git perf-oprofile


Robert, I haven't rebased this work on your oprofile updates for
2.6.37. If you need me to do that, just shout. If you have any comments
I'll respin this ASAP but it's probably ready for merging now.


Changes from v4:
 - SH is the only arch that doesn't default perf_pmu_name()
 - Changed perf_nr_counters to num_counters
 
Changes from v3:
 - New perf_pmu_name() function
 - Sprinkled an EXPORT_SYMBOL_GPL()
 - Don't repeatedly call perf_num_counters()
 - Change name of oprofile_driver to "oprofile-perf"
 - Hard overwrite the oprofile_operations in oprofile_perf_init()
 - Dropped the patch that made oprofile depend on HW_PERF_EVENTS for ARM

Changes from v2:
 - Rebased against Robert's oprofile core branch
 - Moved even more of the ARM code into the generic oprofile code
 - Broke the patches up into more logical steps

Changes from v1:
 - Prefix the new functons with "oprofile_" instead of "op_".
 - Fix ARM compilation errors
 - Move all the oprofile-perf logic into oprofile_perf.c
 - Include cleanup patch from Will

Matt Fleming (7):
  perf: Add helper function to return number of counters
  perf: New helper function for pmu name
  oprofile: Make op_name_from_perf_id() global
  ARM: oprofile: Rename op_arm to oprofile_perf
  ARM: oprofile: Move non-ARM code into separate init/exit
  oprofile: Abstract the perf-events backend
  sh: oprofile: Use perf-events oprofile backend

 arch/arm/kernel/perf_event.c     |    6 +
 arch/arm/oprofile/Makefile       |    4 +
 arch/arm/oprofile/common.c       |  309 +-----------------------------------
 arch/sh/Kconfig                  |   13 ++
 arch/sh/kernel/perf_event.c      |   18 ++
 arch/sh/oprofile/Makefile        |    4 +
 arch/sh/oprofile/common.c        |  115 +++-----------
 arch/sh/oprofile/op_impl.h       |   33 ----
 drivers/oprofile/oprofile_perf.c |  326 ++++++++++++++++++++++++++++++++++++++
 include/linux/oprofile.h         |    7 +
 include/linux/perf_event.h       |    2 +
 kernel/perf_event.c              |    5 +
 12 files changed, 412 insertions(+), 430 deletions(-)
 delete mode 100644 arch/sh/oprofile/op_impl.h
 create mode 100644 drivers/oprofile/oprofile_perf.c


^ permalink raw reply	[flat|nested] 20+ messages in thread
* [PATCH V4 0/7] Generalise ARM perf-events backend for oprofile
@ 2010-10-04 20:44 Matt Fleming
  2010-10-04 20:44 ` [PATCH 1/7] perf: Add helper function to return number of counters Matt Fleming
  0 siblings, 1 reply; 20+ messages in thread
From: Matt Fleming @ 2010-10-04 20:44 UTC (permalink / raw)
  To: Robert Richter
  Cc: Will Deacon, Paul Mundt, Russell King, linux-arm-kernel, linux-sh,
	Peter Zijlstra, Ingo Molnar, Frederic Weisbecker,
	Arnaldo Carvalho de Melo, linux-arch, linux-kernel,
	Deng-Cheng Zhu, Grant Likely

The perf-events backend for OProfile that Will Deacon wrote in
8c1fc96f6fd1f361428ba805103af0d0eee65179 ("ARM: 6072/1: oprofile: use
perf-events framework as backend") is of use to more architectures
than just ARM. Move the code into drivers/oprofile/ so that SH can use
it instead of the nearly identical copy of its OProfile code.

The benefit of the backend is that it becomes necessary to only
maintain one copy of the PMU accessor functions for each architecture,
with bug fixes and new features benefiting both OProfile and perf.

Note that I haven't been able to test these patches on an ARM board to
see if I've caused any regressions. If anyone else could do that I'd
appreciate it. Though, I have been able to compile this version of the
series.

This patch series is based on,

    git://git.kernel.org/pub/scm/linux/kernel/git/rric/oprofile.git core

These patches can also be found at,

    git://git.kernel.org/pub/scm/linux/kernel/git/mfleming/sh-2.6.git perf-oprofile


Robert, I haven't rebased this work on your oprofile updates for
2.6.37. If you need me to do that, just shout.


Changes from v3:
 - New perf_pmu_name() function
 - Sprinkled an EXPORT_SYMBOL_GPL()
 - Don't repeatedly call perf_num_counters()
 - Change name of oprofile_driver to "oprofile-perf"
 - Hard overwrite the oprofile_operations in oprofile_perf_init()
 - Dropped the patch that made oprofile depend on HW_PERF_EVENTS for ARM

Changes from v2:
 - Rebased against Robert's oprofile core branch
 - Moved even more of the ARM code into the generic oprofile code
 - Broke the patches up into more logical steps

Changes from v1:
 - Prefix the new functons with "oprofile_" instead of "op_".
 - Fix ARM compilation errors
 - Move all the oprofile-perf logic into oprofile_perf.c
 - Include cleanup patch from Will

Matt Fleming (7):
  perf: Add helper function to return number of counters
  perf: New helper function for pmu name
  ARM: oprofile: Rename op_arm to oprofile_perf
  ARM: oprofile: Move non-ARM code into separate init/exit
  oprofile: Abstract the perf-events backend
  sh: oprofile: Use perf-events oprofile backend
  sh: Annotate oprofile_arch_exit() with __exit marker

 arch/arm/kernel/perf_event.c     |   29 ++++
 arch/arm/oprofile/Makefile       |    4 +
 arch/arm/oprofile/common.c       |  327 +-------------------------------------
 arch/sh/Kconfig                  |   13 ++
 arch/sh/kernel/perf_event.c      |   23 +++
 arch/sh/oprofile/Makefile        |    4 +
 arch/sh/oprofile/common.c        |  109 ++------------
 arch/sh/oprofile/op_impl.h       |   33 ----
 drivers/oprofile/oprofile_perf.c |  326 +++++++++++++++++++++++++++++++++++++
 include/linux/oprofile.h         |    6 +
 include/linux/perf_event.h       |    2 +
 kernel/perf_event.c              |    5 +
 12 files changed, 425 insertions(+), 456 deletions(-)
 delete mode 100644 arch/sh/oprofile/op_impl.h
 create mode 100644 drivers/oprofile/oprofile_perf.c


^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2010-10-11 20:13 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-10-09  0:46 [PATCH V5 0/7] Generalise ARM perf-events backend for oprofile Matt Fleming
2010-10-09  0:46 ` [PATCH 1/7] perf: Add helper function to return number of counters Matt Fleming
2010-10-09  0:46 ` [PATCH 2/7] perf: New helper function for pmu name Matt Fleming
2010-10-11  9:18   ` Robert Richter
2010-10-11  9:31     ` Peter Zijlstra
2010-10-11 15:31   ` Paul Mundt
2010-10-09  0:46 ` [PATCH 3/7] oprofile: Make op_name_from_perf_id() global Matt Fleming
2010-10-09  0:46 ` [PATCH 4/7] ARM: oprofile: Rename op_arm to oprofile_perf Matt Fleming
2010-10-09  0:46 ` [PATCH 5/7] ARM: oprofile: Move non-ARM code into separate init/exit Matt Fleming
2010-10-09  1:26   ` [PATCH 5/7] ARM: oprofile: Move non-ARM code into separate Robert Richter
2010-10-09  1:51     ` Robert Richter
2010-10-09 10:32     ` Matt Fleming
2010-10-09  0:46 ` [PATCH 6/7] oprofile: Abstract the perf-events backend Matt Fleming
2010-10-09  0:46 ` [PATCH 7/7] sh: oprofile: Use perf-events oprofile backend Matt Fleming
2010-10-11 11:06   ` Robert Richter
2010-10-11 11:09     ` Paul Mundt
2010-10-11 18:59 ` [PATCH V5 0/7] Generalise ARM perf-events backend for oprofile Robert Richter
2010-10-11 20:13   ` Matt Fleming
  -- strict thread matches above, loose matches on Subject: below --
2010-10-04 20:44 [PATCH V4 " Matt Fleming
2010-10-04 20:44 ` [PATCH 1/7] perf: Add helper function to return number of counters Matt Fleming
2010-10-05  8:15   ` Paul Mundt

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).