Commit 4b9f12a3 authored by Linus Torvalds's avatar Linus Torvalds

x86/oprofile/nmi_int: add Nehalem to list of ppro cores

..otherwise oprofile will fall back on that poor timer interrupt.

Also replace the unreadable chain of if-statements with a "switch()"
statement instead. It generates better code, and is a lot clearer.
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent b30f3ae5
...@@ -369,20 +369,34 @@ static int __init ppro_init(char **cpu_type) ...@@ -369,20 +369,34 @@ static int __init ppro_init(char **cpu_type)
{ {
__u8 cpu_model = boot_cpu_data.x86_model; __u8 cpu_model = boot_cpu_data.x86_model;
if (cpu_model == 14) switch (cpu_model) {
case 0 ... 2:
*cpu_type = "i386/ppro";
break;
case 3 ... 5:
*cpu_type = "i386/pii";
break;
case 6 ... 8:
*cpu_type = "i386/piii";
break;
case 9:
*cpu_type = "i386/p6_mobile";
break;
case 10 ... 13:
*cpu_type = "i386/p6";
break;
case 14:
*cpu_type = "i386/core"; *cpu_type = "i386/core";
else if (cpu_model == 15 || cpu_model == 23) break;
case 15: case 23:
*cpu_type = "i386/core_2";
break;
case 26:
*cpu_type = "i386/core_2"; *cpu_type = "i386/core_2";
else if (cpu_model > 0xd) break;
default:
/* Unknown */
return 0; return 0;
else if (cpu_model == 9) {
*cpu_type = "i386/p6_mobile";
} else if (cpu_model > 5) {
*cpu_type = "i386/piii";
} else if (cpu_model > 2) {
*cpu_type = "i386/pii";
} else {
*cpu_type = "i386/ppro";
} }
model = &op_ppro_spec; model = &op_ppro_spec;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment