[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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.