[PATCH] x86_64: Allow oprofile for model P4 models
authorAndi Kleen <ak@suse.de>
Mon, 10 Jul 2006 15:06:21 +0000 (17:06 +0200)
committerLinus Torvalds <torvalds@g5.osdl.org>
Mon, 10 Jul 2006 22:12:33 +0000 (15:12 -0700)
Add it for P4 model 6 - reported to work and have a similar PMU to
earlier P4s.

Add an p4force=1 module override parameter for future use.

We had a discussion about that earlier - it's a trade off between the
PMU staying compatible or not.  I think the force parameter is a
reasonable compromise.

Cc: oprofile-list@lists.sf.net
Cc: Asit Mallick <asit.k.mallick@intel.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
arch/i386/oprofile/nmi_int.c

index fa8a37bcb391995e8d0de88dac0208f2d9458a52..c8c1df8ff2b479671e9733e6f382f1bfa4feae5c 100644 (file)
@@ -13,6 +13,7 @@
 #include <linux/oprofile.h>
 #include <linux/sysdev.h>
 #include <linux/slab.h>
+#include <linux/moduleparam.h>
 #include <asm/nmi.h>
 #include <asm/msr.h>
 #include <asm/apic.h>
@@ -296,12 +297,14 @@ static int nmi_create_files(struct super_block * sb, struct dentry * root)
        return 0;
 }
  
+static int p4force;
+module_param(p4force, int, 0);
  
 static int __init p4_init(char ** cpu_type)
 {
        __u8 cpu_model = boot_cpu_data.x86_model;
 
-       if (cpu_model > 4)
+       if (!p4force && (cpu_model > 6 || cpu_model == 5))
                return 0;
 
 #ifndef CONFIG_SMP