| 
    
 [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
 Am Dienstag 27 November 2012, 13:19:34 schrieb Jan Beulich:
> >>> 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).
Yes, looks much cleaner.
Thanks.
Dietmar.
> 
> 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  |