2010-08-05 00:27:14

by Josh Hunt

[permalink] [raw]
Subject: [PATCH] oprofile: add support for Intel processor model 30

Newer Intel processors identifying themselves as model 30 are not recognized by
oprofile.

<cpuinfo snippet>
model : 30
model name : Intel(R) Xeon(R) CPU X3470 @ 2.93GHz
</cpuinfo snippet>

Running oprofile on these machines gives the following:
+ opcontrol --init
+ opcontrol --list-events
oprofile: available events for CPU type "Intel Architectural Perfmon"

See Intel 64 and IA-32 Architectures Software Developer's Manual
Volume 3B (Document 253669) Chapter 18 for architectural perfmon events
This is a limited set of fallback events because oprofile doesn't know your CPU
CPU_CLK_UNHALTED: (counter: all)
Clock cycles when not halted (min count: 6000)
INST_RETIRED: (counter: all)
number of instructions retired (min count: 6000)
LLC_MISSES: (counter: all)
Last level cache demand requests from this core that missed the LLC
(min count: 6000)
Unit masks (default 0x41)
----------
0x41: No unit mask
LLC_REFS: (counter: all)
Last level cache demand requests from this core (min count: 6000)
Unit masks (default 0x4f)
----------
0x4f: No unit mask
BR_MISS_PRED_RETIRED: (counter: all)
number of mispredicted branches retired (precise) (min count: 500)
+ opcontrol --shutdown

Tested using oprofile 0.9.6.

Signed-off-by: Josh Hunt <[email protected]>
---
arch/x86/oprofile/nmi_int.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/arch/x86/oprofile/nmi_int.c b/arch/x86/oprofile/nmi_int.c
index b28d2f1..6f95251 100644
--- a/arch/x86/oprofile/nmi_int.c
+++ b/arch/x86/oprofile/nmi_int.c
@@ -657,6 +657,7 @@ static int __init ppro_init(char **cpu_type)
break;
case 0x2e:
case 26:
+ case 30:
spec = &op_arch_perfmon_spec;
*cpu_type = "i386/core_i7";
break;
--
1.7.0.4


2010-08-05 06:59:20

by Andi Kleen

[permalink] [raw]
Subject: Re: [PATCH] oprofile: add support for Intel processor model 30

> Tested using oprofile 0.9.6.
>
> Signed-off-by: Josh Hunt <[email protected]>

Reviewed-by: Andi Kleen <[email protected]>

This change is ok since it's a 45nm Nehalem Xeon.

-Andi

Subject: Re: [PATCH] oprofile: add support for Intel processor model 30

On 04.08.10 20:27:05, Josh Hunt wrote:
> Newer Intel processors identifying themselves as model 30 are not recognized by
> oprofile.

> Tested using oprofile 0.9.6.
>
> Signed-off-by: Josh Hunt <[email protected]>

Applied to:

git://git.kernel.org/pub/scm/linux/kernel/git/rric/oprofile.git core

(I converted the model number to hex.)

Thanks Josh.

Ingo,

please (ff-only) pull this again for tip/perf/core. You already send
the pull request for Linus, but I think this patch will make it for
v2.6.36 too?

Thanks.

-Robert

> ---
> arch/x86/oprofile/nmi_int.c | 1 +
> 1 files changed, 1 insertions(+), 0 deletions(-)
>
> diff --git a/arch/x86/oprofile/nmi_int.c b/arch/x86/oprofile/nmi_int.c
> index b28d2f1..6f95251 100644
> --- a/arch/x86/oprofile/nmi_int.c
> +++ b/arch/x86/oprofile/nmi_int.c
> @@ -657,6 +657,7 @@ static int __init ppro_init(char **cpu_type)
> break;
> case 0x2e:
> case 26:
> + case 30:
> spec = &op_arch_perfmon_spec;
> *cpu_type = "i386/core_i7";
> break;
> --
> 1.7.0.4
>
>

--
Advanced Micro Devices, Inc.
Operating System Research Center

2010-08-05 12:22:15

by Ingo Molnar

[permalink] [raw]
Subject: Re: [PATCH] oprofile: add support for Intel processor model 30


* Robert Richter <[email protected]> wrote:

> On 04.08.10 20:27:05, Josh Hunt wrote:
> > Newer Intel processors identifying themselves as model 30 are not recognized by
> > oprofile.
>
> > Tested using oprofile 0.9.6.
> >
> > Signed-off-by: Josh Hunt <[email protected]>
>
> Applied to:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/rric/oprofile.git core
>
> (I converted the model number to hex.)
>
> Thanks Josh.
>
> Ingo,
>
> please (ff-only) pull this again for tip/perf/core. You already send
> the pull request for Linus, but I think this patch will make it for
> v2.6.36 too?

Yeah, we are still early in the merge window, and it's a very small patch in
any case - i pulled it.

Thanks,

Ingo