aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRobert Richter <robert.richter@amd.com>2009-05-06 06:10:23 -0400
committerRobert Richter <robert.richter@amd.com>2009-05-08 05:06:34 -0400
commit7e4e0bd50e80df2fe5501f48f872448376cdd997 (patch)
treedec55d33e695354d4fa34205d5524b0bca91c4a9
parent6adf406f0a0eaf37251018d15f51e93f5b538ee6 (diff)
oprofile: introduce module_param oprofile.cpu_type
This patch removes module_param oprofile.force_arch_perfmon and introduces oprofile.cpu_type=archperfmon instead. This new parameter can be reused for other models and architectures. Currently only archperfmon is supported. Cc: Andi Kleen <ak@linux.intel.com> Signed-off-by: Robert Richter <robert.richter@amd.com>
-rw-r--r--Documentation/kernel-parameters.txt12
-rw-r--r--arch/x86/oprofile/nmi_int.c13
2 files changed, 18 insertions, 7 deletions
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
index 9b9566bf3301..6ce5f48859cc 100644
--- a/Documentation/kernel-parameters.txt
+++ b/Documentation/kernel-parameters.txt
@@ -1650,11 +1650,13 @@ and is between 256 and 4096 characters. It is defined in the file
1650 oprofile.timer= [HW] 1650 oprofile.timer= [HW]
1651 Use timer interrupt instead of performance counters 1651 Use timer interrupt instead of performance counters
1652 1652
1653 oprofile.force_arch_perfmon=1 [X86] 1653 oprofile.cpu_type= Force an oprofile cpu type
1654 Force use of architectural perfmon instead of 1654 This might be useful if you have an older oprofile
1655 the CPU specific event set. 1655 userland or if you want common events.
1656 This might be useful if you have older oprofile 1656 Format: { archperfmon }
1657 userland or if you want common events over Intel CPUs. 1657 archperfmon: [X86] Force use of architectural
1658 perfmon on Intel CPUs instead of the
1659 CPU specific event set.
1658 1660
1659 osst= [HW,SCSI] SCSI Tape Driver 1661 osst= [HW,SCSI] SCSI Tape Driver
1660 Format: <buffer_size>,<write_threshold> 1662 Format: <buffer_size>,<write_threshold>
diff --git a/arch/x86/oprofile/nmi_int.c b/arch/x86/oprofile/nmi_int.c
index 3308147182ae..3b285e656e27 100644
--- a/arch/x86/oprofile/nmi_int.c
+++ b/arch/x86/oprofile/nmi_int.c
@@ -386,8 +386,17 @@ static int __init p4_init(char **cpu_type)
386 return 0; 386 return 0;
387} 387}
388 388
389int force_arch_perfmon; 389static int force_arch_perfmon;
390module_param(force_arch_perfmon, int, 0); 390static int force_cpu_type(const char *str, struct kernel_param *kp)
391{
392 if (!strcmp(str, "archperfmon")) {
393 force_arch_perfmon = 1;
394 printk(KERN_INFO "oprofile: forcing architectural perfmon\n");
395 }
396
397 return 0;
398}
399module_param_call(cpu_type, force_cpu_type, NULL, NULL, 0);
391 400
392static int __init ppro_init(char **cpu_type) 401static int __init ppro_init(char **cpu_type)
393{ 402{