linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: mark.rutland@arm.com (Mark Rutland)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 00/11] arm: perf: add support for heterogeneous PMUs
Date: Fri,  7 Nov 2014 16:25:25 +0000	[thread overview]
Message-ID: <1415377536-12841-1-git-send-email-mark.rutland@arm.com> (raw)

In systems with heterogeneous CPUs (e.g. big.LITTLE) the associated PMUs
also differ in terms of the supported set of events, the precise
behaviour of each of those events, and the number of event counters.
Thus it is not possible to expose these PMUs as a single logical PMU.

Instead a logical PMU is created per CPU microarchitecture, which events
can target directly:

$ perf stat \
  -e armv7_cortex_a7/config=0x11/ \
  -e armv7_cortex_a15/config=0x11/ \
  ./test

 Performance counter stats for './test':

           7980455      armv7_cortex_a7/config=0x11/                                    [27.29%]
           9947934      armv7_cortex_a15/config=0x11/                                    [72.66%]

       0.016734833 seconds time elapsed

This series is based atop of my recent preparatory rework [1,2].

Thanks,
Mark.

[1] http://lists.infradead.org/pipermail/linux-arm-kernel/2014-October/295820.html
[2] https://git.kernel.org/cgit/linux/kernel/git/will/linux.git/log/?h=perf/updates

Mark Rutland (11):
  of: Add empty of_get_next_parent stub
  perf: allow for PMU-specific event filtering
  arm: perf: treat PMUs as CPU affine
  arm: perf: filter unschedulable events
  arm: perf: reject multi-pmu groups
  arm: perf: probe number of counters on affine CPUs
  arm: perf: document PMU affinity binding
  arm: perf: add functions to parse affinity from dt
  arm: perf: parse cpu affinity from dt
  arm: perf: remove singleton PMU restriction
  arm: dts: vexpress: describe all PMUs in TC2 dts

 Documentation/devicetree/bindings/arm/pmu.txt | 104 +++++++-
 arch/arm/boot/dts/vexpress-v2p-ca15_a7.dts    |  36 ++-
 arch/arm/include/asm/pmu.h                    |  13 +
 arch/arm/kernel/perf_event.c                  |  61 ++++-
 arch/arm/kernel/perf_event_cpu.c              | 356 +++++++++++++++++++++-----
 arch/arm/kernel/perf_event_v7.c               |  41 +--
 include/linux/of.h                            |   5 +
 include/linux/perf_event.h                    |   5 +
 kernel/events/core.c                          |   8 +-
 9 files changed, 534 insertions(+), 95 deletions(-)

-- 
1.9.1

             reply	other threads:[~2014-11-07 16:25 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-11-07 16:25 Mark Rutland [this message]
2014-11-07 16:25 ` [PATCH 01/11] of: Add empty of_get_next_parent stub Mark Rutland
2014-11-07 16:25 ` [PATCH 02/11] perf: allow for PMU-specific event filtering Mark Rutland
2014-11-07 16:25 ` [PATCH 03/11] arm: perf: treat PMUs as CPU affine Mark Rutland
2014-11-07 16:25 ` [PATCH 04/11] arm: perf: filter unschedulable events Mark Rutland
2014-11-07 16:25 ` [PATCH 05/11] arm: perf: reject multi-pmu groups Mark Rutland
2014-11-07 16:25 ` [PATCH 06/11] arm: perf: probe number of counters on affine CPUs Mark Rutland
2014-11-07 16:25 ` [PATCH 07/11] arm: perf: document PMU affinity binding Mark Rutland
2014-11-17 11:14   ` Will Deacon
2014-11-17 14:32   ` Rob Herring
2014-11-17 15:01     ` Mark Rutland
2014-11-07 16:25 ` [PATCH 08/11] arm: perf: add functions to parse affinity from dt Mark Rutland
2014-11-17 11:16   ` Will Deacon
2014-11-17 15:02     ` Mark Rutland
2014-11-07 16:25 ` [PATCH 09/11] arm: perf: parse cpu " Mark Rutland
2014-11-17 11:20   ` Will Deacon
2014-11-17 15:08     ` Mark Rutland
2014-11-18 10:40       ` Will Deacon
2014-11-07 16:25 ` [PATCH 10/11] arm: perf: remove singleton PMU restriction Mark Rutland
2014-11-07 16:25 ` [PATCH 11/11] arm: dts: vexpress: describe all PMUs in TC2 dts Mark Rutland
2014-11-17 11:24 ` [PATCH 00/11] arm: perf: add support for heterogeneous PMUs Will Deacon

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1415377536-12841-1-git-send-email-mark.rutland@arm.com \
    --to=mark.rutland@arm.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).