summaryrefslogtreecommitdiff
path: root/arch/i386/kernel/process.c
diff options
context:
space:
mode:
authorAndi Kleen <ak@suse.de>2007-05-02 17:27:12 (GMT)
committerAndi Kleen <andi@basil.nowhere.org>2007-05-02 17:27:12 (GMT)
commitf039b754714a422959027cb18bb33760eb8153f0 (patch)
treec5f28502adf35f5ea7738a974cd7c4fc81e1dd21 /arch/i386/kernel/process.c
parentc169859d6dfc7471ef9f2dbd720936e17906a084 (diff)
downloadlinux-f039b754714a422959027cb18bb33760eb8153f0.tar.xz
[PATCH] x86: Don't use MWAIT on AMD Family 10
It doesn't put the CPU into deeper sleep states, so it's better to use the standard idle loop to save power. But allow to reenable it anyways for benchmarking. I also removed the obsolete idle=halt on i386 Cc: andreas.herrmann@amd.com Signed-off-by: Andi Kleen <ak@suse.de>
Diffstat (limited to 'arch/i386/kernel/process.c')
-rw-r--r--arch/i386/kernel/process.c17
1 files changed, 8 insertions, 9 deletions
diff --git a/arch/i386/kernel/process.c b/arch/i386/kernel/process.c
index 393a67d..7e8e129 100644
--- a/arch/i386/kernel/process.c
+++ b/arch/i386/kernel/process.c
@@ -272,25 +272,24 @@ void __devinit select_idle_routine(const struct cpuinfo_x86 *c)
}
}
-static int __init idle_setup (char *str)
+static int __init idle_setup(char *str)
{
- if (!strncmp(str, "poll", 4)) {
+ if (!strcmp(str, "poll")) {
printk("using polling idle threads.\n");
pm_idle = poll_idle;
#ifdef CONFIG_X86_SMP
if (smp_num_siblings > 1)
printk("WARNING: polling idle and HT enabled, performance may degrade.\n");
#endif
- } else if (!strncmp(str, "halt", 4)) {
- printk("using halt in idle threads.\n");
- pm_idle = default_idle;
- }
+ } else if (!strcmp(str, "mwait"))
+ force_mwait = 1;
+ else
+ return -1;
boot_option_idle_override = 1;
- return 1;
+ return 0;
}
-
-__setup("idle=", idle_setup);
+early_param("idle", idle_setup);
void show_regs(struct pt_regs * regs)
{