diff options
| -rw-r--r-- | Documentation/kernel-parameters.txt | 12 | ||||
| -rw-r--r-- | arch/x86/oprofile/nmi_int.c | 13 |
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 | ||
| 389 | int force_arch_perfmon; | 389 | static int force_arch_perfmon; |
| 390 | module_param(force_arch_perfmon, int, 0); | 390 | static 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 | } | ||
| 399 | module_param_call(cpu_type, force_cpu_type, NULL, NULL, 0); | ||
| 391 | 400 | ||
| 392 | static int __init ppro_init(char **cpu_type) | 401 | static int __init ppro_init(char **cpu_type) |
| 393 | { | 402 | { |
