[PATCH] x86_64: Allow oprofile for model P4 models
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>
This commit is contained in:
committed by
Linus Torvalds
parent
46f6976101
commit
1cfcea1b2d
@@ -13,6 +13,7 @@
|
|||||||
#include <linux/oprofile.h>
|
#include <linux/oprofile.h>
|
||||||
#include <linux/sysdev.h>
|
#include <linux/sysdev.h>
|
||||||
#include <linux/slab.h>
|
#include <linux/slab.h>
|
||||||
|
#include <linux/moduleparam.h>
|
||||||
#include <asm/nmi.h>
|
#include <asm/nmi.h>
|
||||||
#include <asm/msr.h>
|
#include <asm/msr.h>
|
||||||
#include <asm/apic.h>
|
#include <asm/apic.h>
|
||||||
@@ -296,12 +297,14 @@ static int nmi_create_files(struct super_block * sb, struct dentry * root)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int p4force;
|
||||||
|
module_param(p4force, int, 0);
|
||||||
|
|
||||||
static int __init p4_init(char ** cpu_type)
|
static int __init p4_init(char ** cpu_type)
|
||||||
{
|
{
|
||||||
__u8 cpu_model = boot_cpu_data.x86_model;
|
__u8 cpu_model = boot_cpu_data.x86_model;
|
||||||
|
|
||||||
if (cpu_model > 4)
|
if (!p4force && (cpu_model > 6 || cpu_model == 5))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
#ifndef CONFIG_SMP
|
#ifndef CONFIG_SMP
|
||||||
|
Reference in New Issue
Block a user