x86/oprofile: fix initialization of arch_perfmon for core_i7
Commit:
e419294
x86/oprofile: moving arch_perfmon counter setup to op_x86_model_spec.init
introduced a bug in the initialization of core_i7 leading to the
incorrect model setup to &op_ppro_spec. This patch fixes this.
Signed-off-by: Robert Richter <robert.richter@amd.com>
This commit is contained in:
@@ -406,6 +406,7 @@ module_param_call(cpu_type, force_cpu_type, NULL, NULL, 0);
|
|||||||
static int __init ppro_init(char **cpu_type)
|
static int __init ppro_init(char **cpu_type)
|
||||||
{
|
{
|
||||||
__u8 cpu_model = boot_cpu_data.x86_model;
|
__u8 cpu_model = boot_cpu_data.x86_model;
|
||||||
|
struct op_x86_model_spec const *spec = &op_ppro_spec; /* default */
|
||||||
|
|
||||||
if (force_arch_perfmon && cpu_has_arch_perfmon)
|
if (force_arch_perfmon && cpu_has_arch_perfmon)
|
||||||
return 0;
|
return 0;
|
||||||
@@ -432,7 +433,7 @@ static int __init ppro_init(char **cpu_type)
|
|||||||
*cpu_type = "i386/core_2";
|
*cpu_type = "i386/core_2";
|
||||||
break;
|
break;
|
||||||
case 26:
|
case 26:
|
||||||
model = &op_arch_perfmon_spec;
|
spec = &op_arch_perfmon_spec;
|
||||||
*cpu_type = "i386/core_i7";
|
*cpu_type = "i386/core_i7";
|
||||||
break;
|
break;
|
||||||
case 28:
|
case 28:
|
||||||
@@ -443,7 +444,7 @@ static int __init ppro_init(char **cpu_type)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
model = &op_ppro_spec;
|
model = spec;
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user