|
[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 |