All of lore.kernel.org
 help / color / mirror / Atom feed
From: will.deacon@arm.com (Will Deacon)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 5/5] arm/perfevents: implement perf event support for	ARMv6
Date: Thu, 21 Jan 2010 10:56:37 -0000	[thread overview]
Message-ID: <001701ca9a88$67f32c20$37d98460$@deacon@arm.com> (raw)
In-Reply-To: <20100121103803.GA15663@n2100.arm.linux.org.uk>

Hi Russell,

* Russell King wrote:

> This function is called whenever the PMU support is built in - and
> this is the first place a decision is made about how to handle stuff.
> 
> Merely checking the part number without checking the implementer is
> nonsense - the part number is defined by the implmenter, not ARM, so
> the part number can only be interpreted with knowledge of the
> implementer.

Perhaps, but if [somehow] we know we're on a v7 core, then we must have
at least the PMU support defined by the architecture. We can then check
the part ID and the implementer ID to determine any extra events.

> So, when v7 gets added, checking the main ID register is the wrong
> thing to do.
>
> Given that cpu_architecture() appears to have been redefined to return
> the MMU architecture, we have no real way to properly determine if we
> have a v7 PMU present - in fact, the whole "are we v6 or v7 or something
> later" question seems to be extremely muddy and indeterminant.

Right. Could we use the Debug ID register (DIDR[19:16]) instead? If it reads
v7, we know how to talk to the PMU. If it reads v6, then if we haven't handled
the core already, it's unsupported.

> So I don't think even checking cpu_architecture() == CPU_ARCH_ARMv7
> is the right thing either.

Indeed. That always catches me out!

Cheers,

Will

  reply	other threads:[~2010-01-21 10:56 UTC|newest]

Thread overview: 66+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-01-14 12:14 ARM perf events support v5 Jamie Iles
2010-01-14 12:14 ` [PATCH 1/5] arm: provide a mechanism to reserve performance counters Jamie Iles
2010-01-14 12:14   ` [PATCH 2/5] arm/oprofile: reserve the PMU when starting Jamie Iles
2010-01-14 12:14     ` [PATCH 3/5] arm: use the spinlocked, generic atomic64 support Jamie Iles
2010-01-14 12:14       ` [PATCH 4/5] arm: enable support for software perf events Jamie Iles
2010-01-14 12:14         ` [PATCH 5/5] arm/perfevents: implement perf event support for ARMv6 Jamie Iles
2010-01-21  9:39           ` Jamie Iles
2010-01-21 10:28             ` Will Deacon
2010-01-21 10:37               ` Jamie Iles
2010-01-21 10:38             ` Russell King - ARM Linux
2010-01-21 10:56               ` Will Deacon [this message]
2010-01-21 12:21               ` Jean Pihet
2010-01-21 12:27                 ` Jamie Iles
2010-01-21 12:32                   ` Jean Pihet
2010-01-21 14:04                     ` Jamie Iles
2010-01-21 12:34                 ` Will Deacon
2010-01-21 12:42                   ` Jean Pihet
2010-01-22 15:25                     ` Will Deacon
2010-01-21 12:45                   ` Russell King - ARM Linux
2010-01-26 16:03                 ` Tomasz Fujak
2010-01-26 16:09                   ` Jamie Iles
2010-01-26 16:11                     ` Jean Pihet
2010-01-26 17:47                       ` Jean Pihet
2010-01-27 17:26                         ` Will Deacon
2010-01-27 17:40                           ` Jean Pihet
2010-01-27 17:57                             ` Will Deacon
2010-01-28 11:26                               ` Jamie Iles
2010-01-30 16:15                                 ` Russell King - ARM Linux
2010-02-02 17:14                                 ` Russell King - ARM Linux
2010-02-02 17:28                                   ` Jamie Iles
2010-02-02 17:40         ` [PATCH 4/5] arm: enable support for software perf events Russell King - ARM Linux
2010-02-02 18:19           ` Will Deacon
2010-02-02 18:48           ` Jamie Iles
2010-02-02 19:07             ` Russell King - ARM Linux
2010-02-02 19:28               ` Jamie Iles
2010-02-05  6:01     ` [PATCH 2/5] arm/oprofile: reserve the PMU when starting George G. Davis
2010-02-05  9:13       ` Jamie Iles
2010-01-21  9:30   ` [PATCH 1/5] arm: provide a mechanism to reserve performance counters Jamie Iles
  -- strict thread matches above, loose matches on Subject: below --
2010-01-04 10:48 ARM perf events support v4 Jamie Iles
2010-01-04 10:48 ` [PATCH 1/5] arm: provide a mechanism to reserve performance counters Jamie Iles
2010-01-04 10:48   ` [PATCH 2/5] arm/oprofile: reserve the PMU when starting Jamie Iles
2010-01-04 10:48     ` [PATCH 3/5] arm: use the spinlocked, generic atomic64 support Jamie Iles
2010-01-04 10:48       ` [PATCH 4/5] arm: enable support for software perf events Jamie Iles
2010-01-04 10:48         ` [PATCH 5/5] arm/perfevents: implement perf event support for ARMv6 Jamie Iles
2010-01-04 11:17           ` Russell King - ARM Linux
2010-01-04 11:46             ` Jamie Iles
2010-01-05 18:07           ` Will Deacon
2010-01-05 18:23             ` Jean Pihet
2010-01-05 22:26             ` Jamie Iles
2010-01-05 22:31               ` Russell King - ARM Linux
2010-01-06  0:18                 ` Jamie Iles
2010-01-06 12:09                   ` Will Deacon
2010-01-06 12:14                     ` Jamie Iles
2009-12-15 11:15 ARMv6 performance counters v3 Jamie Iles
2009-12-15 11:15 ` [PATCH 1/5] arm: provide a mechanism to reserve performance counters Jamie Iles
2009-12-15 11:15   ` [PATCH 2/5] arm/oprofile: reserve the PMU when starting Jamie Iles
2009-12-15 11:15     ` [PATCH 3/5] arm: use the spinlocked, generic atomic64 support Jamie Iles
2009-12-15 11:15       ` [PATCH 4/5] arm: enable support for software perf events Jamie Iles
2009-12-15 11:15         ` [PATCH 5/5] arm/perfevents: implement perf event support for ARMv6 Jamie Iles
2009-12-15 14:29           ` Will Deacon
2009-12-15 15:02             ` Jamie Iles
2009-12-15 15:05               ` Will Deacon
2009-12-15 15:19                 ` Jamie Iles
2009-12-15 15:30                   ` Peter Zijlstra
2009-12-15 15:36                     ` Jamie Iles
2009-12-16 10:54                       ` Jamie Iles
2009-12-16 11:04                         ` Will Deacon
2009-12-16 11:19                           ` Jamie Iles
2009-12-14 14:04 ARMv6 performance counters v2 Jamie Iles
2009-12-14 14:04 ` [PATCH 1/5] arm: provide a mechanism to reserve performance counters Jamie Iles
2009-12-14 14:04   ` [PATCH 2/5] arm/oprofile: reserve the PMU when starting Jamie Iles
2009-12-14 14:04     ` [PATCH 3/5] arm: use the spinlocked, generic atomic64 support Jamie Iles
2009-12-14 14:04       ` [PATCH 4/5] arm: enable support for software perf events Jamie Iles
2009-12-14 14:04         ` [PATCH 5/5] arm/perfevents: implement perf event support for ARMv6 Jamie Iles
2009-12-14 16:12           ` Jean Pihet
2009-12-14 16:33             ` Jamie Iles
2009-12-14 16:57               ` Jean Pihet
2009-12-14 17:09             ` Will Deacon
2009-12-14 16:13           ` Will Deacon
2009-12-14 16:20             ` Jamie Iles
2009-12-14 16:24               ` 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='001701ca9a88$67f32c20$37d98460$@deacon@arm.com' \
    --to=will.deacon@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 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.