Re: [PATCH] [1/3] oprofile: re-add force_arch_perfmon option

From: Robert Richter
Date: Wed May 06 2009 - 08:50:50 EST


Andi,

I applied your patches. Please see my follow on patches and test them.

Thanks,

-Robert

On 27.04.09 17:44:11, Andi Kleen wrote:
>
> This re-adds the force_arch_perfmon option that was in the original
> arch perfmon patchkit. Originally this was rejected in favour
> of a generalized perfmon=name option, but it turned out implementing
> the later in a reliable way is hard (and it would have been easy
> to crash the kernel if a user gets it wrong)
>
> But now Atom and Core i7 support being readded a user would
> need to update their oprofile userland to beyond 0.9.4 to use oprofile again
> on Atom or Core i7.
>
> To avoid this problem readd the force_arch_perfmon option.
> Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx>
>
> ---
> Documentation/kernel-parameters.txt | 6 ++++++
> arch/x86/oprofile/nmi_int.c | 6 ++++++
> 2 files changed, 12 insertions(+)
>
> Index: linux-2.6.30-rc3-ak/Documentation/kernel-parameters.txt
> ===================================================================
> --- linux-2.6.30-rc3-ak.orig/Documentation/kernel-parameters.txt 2009-04-25 19:11:59.000000000 +0200
> +++ linux-2.6.30-rc3-ak/Documentation/kernel-parameters.txt 2009-04-27 13:20:29.000000000 +0200
> @@ -1648,6 +1648,12 @@
> oprofile.timer= [HW]
> Use timer interrupt instead of performance counters
>
> + oprofile.force_arch_perfmon=1 [X86]
> + Force use of architectural perfmon instead of
> + the CPU specific event set.
> + This might be useful if you have older oprofile
> + userland or if you want common events over Intel CPUs.
> +
> osst= [HW,SCSI] SCSI Tape Driver
> Format: <buffer_size>,<write_threshold>
> See also Documentation/scsi/st.txt.
> Index: linux-2.6.30-rc3-ak/arch/x86/oprofile/nmi_int.c
> ===================================================================
> --- linux-2.6.30-rc3-ak.orig/arch/x86/oprofile/nmi_int.c 2009-02-15 12:09:09.000000000 +0100
> +++ linux-2.6.30-rc3-ak/arch/x86/oprofile/nmi_int.c 2009-04-27 13:20:29.000000000 +0200
> @@ -389,10 +389,16 @@
> return 0;
> }
>
> +int force_arch_perfmon;
> +module_param(force_arch_perfmon, int, 0);
> +
> static int __init ppro_init(char **cpu_type)
> {
> __u8 cpu_model = boot_cpu_data.x86_model;
>
> + if (force_arch_perfmon && cpu_has_arch_perfmon)
> + return 0;
> +
> switch (cpu_model) {
> case 0 ... 2:
> *cpu_type = "i386/ppro";
>

--
Advanced Micro Devices, Inc.
Operating System Research Center
email: robert.richter@xxxxxxx

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/