|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] oprofile: Add X7542 and E7-8837 to the list of supported cpus
>>> On 27.11.12 at 14:04, "Jan Beulich" <JBeulich@xxxxxxxx> wrote:
>>>> On 26.11.12 at 13:52, Dietmar Hahn <dietmar.hahn@xxxxxxxxxxxxxx> wrote:
>> Add intel cpus X7542 and E7-8837 to the list of supported cpus.
>>
>> Thanks.
>> Dietmar.
>>
>> Signed-off-by: Dietmar Hahn <dietmar.hahn@xxxxxxxxxxxxxx>
>>
>> diff -r 0049de3827bc -r 6fb0129600cd xen/arch/x86/oprofile/nmi_int.c
>> --- a/xen/arch/x86/oprofile/nmi_int.c Fri Nov 23 11:06:15 2012 +0000
>> +++ b/xen/arch/x86/oprofile/nmi_int.c Mon Nov 26 13:36:00 2012 +0100
>> @@ -366,6 +366,8 @@ static int __init ppro_init(char ** cpu_
>> ppro_has_global_ctrl = 1;
>> break;
>> case 26:
>> + case 46:
>> + case 47:
>> arch_perfmon_setup_counters();
>> *cpu_type = "i386/core_i7";
>> ppro_has_global_ctrl = 1;
>
> Actually, and apart from the patch being white space damaged,
> after a closer look I think this is wrong - these newer CPUs
> shouldn't get be handled here, but instead should be covered by
> arch_perfmon_init(). Are you observing X86_FEATURE_ARCH_PERFMON
> not getting set on these CPUs by init_intel()?
I.e. the below would be the patch I'd expect when merely
taking the SDM as reference (with the "todo remove?" ones
also fully removed of course).
Jan
--- a/xen/arch/x86/oprofile/nmi_int.c
+++ b/xen/arch/x86/oprofile/nmi_int.c
@@ -342,30 +342,22 @@ static int __init ppro_init(char ** cpu_
return 0;
switch (cpu_model) {
- case 0 ... 2:
- *cpu_type = "i386/ppro";
- break;
- case 3 ... 5:
- *cpu_type = "i386/pii";
- break;
- case 6 ... 8:
- case 10 ... 11:
- *cpu_type = "i386/piii";
- break;
- case 9:
- case 13:
- *cpu_type = "i386/p6_mobile";
- break;
case 14:
*cpu_type = "i386/core";
break;
case 15:
+#if 0//todo remove?
case 23:
case 29:
+#endif//todo
*cpu_type = "i386/core_2";
ppro_has_global_ctrl = 1;
break;
- case 26:
+#if 0//todo remove?
+ /* Nehalem */
+ case 26: case 30: case 31: case 46:
+ / Westmere */
+ case 37: case 44: case 47:
arch_perfmon_setup_counters();
*cpu_type = "i386/core_i7";
ppro_has_global_ctrl = 1;
@@ -373,6 +365,7 @@ static int __init ppro_init(char ** cpu_
case 28:
*cpu_type = "i386/atom";
break;
+#endif//todo
default:
/* Unknown */
return 0;
@@ -389,6 +382,7 @@ static int __init arch_perfmon_init(char
*cpu_type = "i386/arch_perfmon";
model = &op_arch_perfmon_spec;
arch_perfmon_setup_counters();
+ ppro_has_global_ctrl = 1;
return 1;
}
@@ -413,14 +407,8 @@ static int __init nmi_init(void)
"AMD processor family %d is not "
"supported\n", family);
return -ENODEV;
- case 6:
- model = &op_athlon_spec;
- cpu_type = "i386/athlon";
- break;
case 0xf:
model = &op_athlon_spec;
- /* Actually it could be i386/hammer too, but
- give user space an consistent name. */
cpu_type = "x86-64/hammer";
break;
case 0x10:
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |