public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH -tip] perf_counter/x86: Add a quirk for Atom processors
@ 2009-06-12  8:08 Yong Wang
  2009-06-12 11:49 ` Ingo Molnar
  2009-06-12 11:51 ` [tip:perfcounters/core] " tip-bot for Yong Wang
  0 siblings, 2 replies; 4+ messages in thread
From: Yong Wang @ 2009-06-12  8:08 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: linux-kernel

The fixed-function performance counters do not work on current Atom
processors. Use the general-purpose ones instead.

Signed-off-by: Yong Wang <yong.y.wang@intel.com>

---
 perf_counter.c |    6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/arch/x86/kernel/cpu/perf_counter.c b/arch/x86/kernel/cpu/perf_counter.c
index 895c82e..4bba0d8 100644
--- a/arch/x86/kernel/cpu/perf_counter.c
+++ b/arch/x86/kernel/cpu/perf_counter.c
@@ -968,6 +968,12 @@ fixed_mode_idx(struct perf_counter *counter, struct hw_perf_counter *hwc)
 	if (!x86_pmu.num_counters_fixed)
 		return -1;
 
+        /* 
+	 * Quirk: IA32_FIXED_CTRs do not work on current Atom processors  
+	 */
+	if (boot_cpu_data.x86_vendor == X86_VENDOR_INTEL && boot_cpu_data.x86_model == 28)
+		return -1;
+
 	event = hwc->config & ARCH_PERFMON_EVENT_MASK;
 
 	if (unlikely(event == x86_pmu.event_map(PERF_COUNT_HW_INSTRUCTIONS)))

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

* Re: [PATCH -tip] perf_counter/x86: Add a quirk for Atom processors
  2009-06-12  8:08 [PATCH -tip] perf_counter/x86: Add a quirk for Atom processors Yong Wang
@ 2009-06-12 11:49 ` Ingo Molnar
  2009-06-12 13:26   ` Yong Wang
  2009-06-12 11:51 ` [tip:perfcounters/core] " tip-bot for Yong Wang
  1 sibling, 1 reply; 4+ messages in thread
From: Ingo Molnar @ 2009-06-12 11:49 UTC (permalink / raw)
  To: Yong Wang
  Cc: linux-kernel, Peter Zijlstra, Mike Galbraith, Arjan van de Ven,
	H. Peter Anvin


* Yong Wang <yong.y.wang@linux.intel.com> wrote:

> The fixed-function performance counters do not work on current 
> Atom processors. Use the general-purpose ones instead.

ah, nice - applied to tip:perfcounters/core, thanks!

Does this make your Atom testbox work fine now?

	Ingo

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

* [tip:perfcounters/core] perf_counter/x86: Add a quirk for Atom processors
  2009-06-12  8:08 [PATCH -tip] perf_counter/x86: Add a quirk for Atom processors Yong Wang
  2009-06-12 11:49 ` Ingo Molnar
@ 2009-06-12 11:51 ` tip-bot for Yong Wang
  1 sibling, 0 replies; 4+ messages in thread
From: tip-bot for Yong Wang @ 2009-06-12 11:51 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: linux-kernel, acme, paulus, hpa, mingo, a.p.zijlstra, efault,
	yong.y.wang, yong.y.wang, tglx, mingo

Commit-ID:  dff5da6d09daaab40a8741dce0ed3c2e94079de2
Gitweb:     http://git.kernel.org/tip/dff5da6d09daaab40a8741dce0ed3c2e94079de2
Author:     Yong Wang <yong.y.wang@linux.intel.com>
AuthorDate: Fri, 12 Jun 2009 16:08:55 +0800
Committer:  Ingo Molnar <mingo@elte.hu>
CommitDate: Fri, 12 Jun 2009 13:48:32 +0200

perf_counter/x86: Add a quirk for Atom processors

The fixed-function performance counters do not work on current Atom
processors. Use the general-purpose ones instead.

Signed-off-by: Yong Wang <yong.y.wang@intel.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
LKML-Reference: <20090612080855.GA2286@ywang-moblin2.bj.intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>


---
 arch/x86/kernel/cpu/perf_counter.c |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/arch/x86/kernel/cpu/perf_counter.c b/arch/x86/kernel/cpu/perf_counter.c
index 895c82e..275bc14 100644
--- a/arch/x86/kernel/cpu/perf_counter.c
+++ b/arch/x86/kernel/cpu/perf_counter.c
@@ -968,6 +968,13 @@ fixed_mode_idx(struct perf_counter *counter, struct hw_perf_counter *hwc)
 	if (!x86_pmu.num_counters_fixed)
 		return -1;
 
+	/*
+	 * Quirk, IA32_FIXED_CTRs do not work on current Atom processors:
+	 */
+	if (boot_cpu_data.x86_vendor == X86_VENDOR_INTEL &&
+					boot_cpu_data.x86_model == 28)
+		return -1;
+
 	event = hwc->config & ARCH_PERFMON_EVENT_MASK;
 
 	if (unlikely(event == x86_pmu.event_map(PERF_COUNT_HW_INSTRUCTIONS)))

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

* Re: [PATCH -tip] perf_counter/x86: Add a quirk for Atom processors
  2009-06-12 11:49 ` Ingo Molnar
@ 2009-06-12 13:26   ` Yong Wang
  0 siblings, 0 replies; 4+ messages in thread
From: Yong Wang @ 2009-06-12 13:26 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Peter Zijlstra, Mike Galbraith, Arjan van de Ven,
	H. Peter Anvin

On Fri, Jun 12, 2009 at 01:49:48PM +0200, Ingo Molnar wrote:
> 
> * Yong Wang <yong.y.wang@linux.intel.com> wrote:
> 
> > The fixed-function performance counters do not work on current 
> > Atom processors. Use the general-purpose ones instead.
> 
> ah, nice - applied to tip:perfcounters/core, thanks!
> 
> Does this make your Atom testbox work fine now?
> 

Yup, I tested the patch before I submitted it. It works fine now;-)
I will also keep an eye on future Atom processors to see whether fixed
function PMCs work or not.

Thanks
-Yong

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

end of thread, other threads:[~2009-06-12 13:49 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-06-12  8:08 [PATCH -tip] perf_counter/x86: Add a quirk for Atom processors Yong Wang
2009-06-12 11:49 ` Ingo Molnar
2009-06-12 13:26   ` Yong Wang
2009-06-12 11:51 ` [tip:perfcounters/core] " tip-bot for Yong Wang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox