perf_counter Atom patch

From: stephane eranian
Date: Mon Jun 22 2009 - 16:26:32 EST


Hi,


You recently submitted a patch for perf_counter to disable
use of fixed counters on Atom because you claim they do
not work.

--------------------------------------------------------------------------------------
author Yong Wang <yong.y.wang@xxxxxxxxxxxxxxx>
Fri, 12 Jun 2009 08:08:55 +0000 (16:08 +0800)
committer Ingo Molnar <mingo@xxxxxxx>
Fri, 12 Jun 2009 11:48:32 +0000 (13:48 +0200)
commit dff5da6d09daaab40a8741dce0ed3c2e94079de2
tree c1f4ce70e4a566a231ba00c775de4e96fb8acb39
parent faafec1e61e61d350248af2a7e5f047606adab6e
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.
--------------------------------------------------------------------------------------


I would like to better understand what makes you think
this is the case.

Perfmon is working on Atom and there, fixed counters work perfectly:
$ head -6 /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 28
model name : Intel(R) Atom(TM) CPU 230 @ 1.60GHz
stepping : 2
...
$ pfmon -v --us-c -e
unhalted_core_cycles,unhalted_reference_cycles,instructions_retired
noploop 10
[FIXED_CTRL(pmc16)=0xaaa pmi0=1 en0=0x2 any0=0 pmi1=1 en1=0x2 any1=0
pmi2=1 en2=0x2 any2=0] INSTRUCTIONS_RETIRED UNHALTED_CORE_CYCLES
UNHALTED_REFERENCE_CYCLES
[FIXED_CTR0(pmd16)]
[FIXED_CTR1(pmd17)]
[FIXED_CTR2(pmd18)]
noploop for 10 seconds
15,902,604,169 UNHALTED_CORE_CYCLES
15,902,586,180 UNHALTED_REFERENCE_CYCLES
7,941,842,505 INSTRUCTIONS_RETIRED


I seem to recall that what may be bogus on Atom is what is returned by
CPUID(0xa)
for the fixed counters. But they are there and they work. Thus, I
believe, the quirk
should be at the location where CPUID(0xa) is invoked not where you've put it.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/