linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/8] arm: perf: cleanups and initial refactoring
@ 2014-07-01 15:11 Mark Rutland
  2014-07-01 15:11 ` [PATCH 1/8] arm: perf: move event map macros to pmu.h Mark Rutland
                   ` (8 more replies)
  0 siblings, 9 replies; 14+ messages in thread
From: Mark Rutland @ 2014-07-01 15:11 UTC (permalink / raw)
  To: linux-arm-kernel

While reorganising the ARM perf backend to provide support for
heterogeneous PMUs in big.LITTLE systems, I encountered a couple of
issues requiring some preparatory work in addition to some opportunities
for general cleanup in the backend. This series consists of those
initial cleanups.

Currently the event mapping code in the ARM perf backend requires
multi-dimensional tables to map from common event encodings to raw
hardware values, where empty slots must be initialised to non-zero
values. The current way of organising this results in very large support
files which we can simplify with some macro use to remove a few hundred
lines and make things more legible.

The PMU naming is somewhat of a mess, with most names not being
supported by the perf tool. Given that no-one has complained, it seems
that the PMUs are not being accessed by name in a perf context, and we
can fix these to be consistent and usable with current tools. We update
the OProfile name mangling to ensure that OProfile (which accesses the
PMUs in its own namespace) are not adversely affected.

To prepare for reorganisation of the PMU probing code, new
platform_device_id values are added to allow ARMv6, ARMv7, and XScale
PMU platform_devices to be distinguished.

Thanks,
Mark.

Mark Rutland (8):
  arm: perf: move event map macros to pmu.h
  arm: perf: add macros for empty event mappings
  arm: perf: armv7: condense event maps
  arm: perf: armv6: condense event maps
  arm: perf: xscale: condense event maps
  arm: perf: clean up PMU names
  arm: perf: add more specific platform device IDs
  arm: perf: krait: stop using singleton PMU

 arch/arm/include/asm/perf_event.h   |   9 -
 arch/arm/include/asm/pmu.h          |  19 +
 arch/arm/kernel/perf_event_cpu.c    |  13 +-
 arch/arm/kernel/perf_event_v6.c     | 307 +++---------
 arch/arm/kernel/perf_event_v7.c     | 967 ++++++++----------------------------
 arch/arm/kernel/perf_event_xscale.c | 121 +----
 arch/arm/oprofile/common.c          |  14 +-
 7 files changed, 349 insertions(+), 1101 deletions(-)

-- 
1.9.1

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

end of thread, other threads:[~2014-07-02 14:45 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-07-01 15:11 [PATCH 0/8] arm: perf: cleanups and initial refactoring Mark Rutland
2014-07-01 15:11 ` [PATCH 1/8] arm: perf: move event map macros to pmu.h Mark Rutland
2014-07-01 15:11 ` [PATCH 2/8] arm: perf: add macros for empty event mappings Mark Rutland
2014-07-01 15:11 ` [PATCH 3/8] arm: perf: armv7: condense event maps Mark Rutland
2014-07-01 15:11 ` [PATCH 4/8] arm: perf: armv6: " Mark Rutland
2014-07-01 15:11 ` [PATCH 5/8] arm: perf: xscale: " Mark Rutland
2014-07-01 15:11 ` [PATCH 6/8] arm: perf: clean up PMU names Mark Rutland
2014-07-01 15:11 ` [PATCH 7/8] arm: perf: add more specific platform device IDs Mark Rutland
2014-07-01 18:06   ` Will Deacon
2014-07-01 15:11 ` [PATCH 8/8] arm: perf: krait: stop using singleton PMU Mark Rutland
2014-07-01 17:40   ` Stephen Boyd
2014-07-01 18:06   ` Will Deacon
2014-07-02 12:46 ` [PATCH 0/8] arm: perf: cleanups and initial refactoring Christopher Covington
2014-07-02 14:45   ` Will Deacon

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).