diff options
author | Zhao Yakui <yakui.zhao@intel.com> | 2008-06-24 06:01:09 -0400 |
---|---|---|
committer | Andi Kleen <andi@basil.nowhere.org> | 2008-07-16 17:27:05 -0400 |
commit | da5e09a1b3e5a9fc0b15a3feb64e921ccc55ba74 (patch) | |
tree | 382a75c1180e458df826ef4efbc191f3f71275c1 /include | |
parent | c1e3b377ad48febba6f91b8ae42c44ee4d4ab45e (diff) |
ACPI : Create "idle=nomwait" bootparam
"idle=nomwait" disables the use of the MWAIT
instruction from both C1 (C1_FFH) and deeper (C2C3_FFH)
C-states.
When MWAIT is unavailable, the BIOS and OS generally
negotiate to use the HALT instruction for C1,
and use IO accesses for deeper C-states.
This option is useful for power and performance
comparisons, and also to work around BIOS bugs
where broken MWAIT support is advertised.
http://bugzilla.kernel.org/show_bug.cgi?id=10807
http://bugzilla.kernel.org/show_bug.cgi?id=10914
Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
Signed-off-by: Li Shaohua <shaohua.li@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/asm-ia64/processor.h | 1 | ||||
-rw-r--r-- | include/asm-x86/processor.h | 1 |
2 files changed, 2 insertions, 0 deletions
diff --git a/include/asm-ia64/processor.h b/include/asm-ia64/processor.h index f36e28a5f61e..f88fa054d01d 100644 --- a/include/asm-ia64/processor.h +++ b/include/asm-ia64/processor.h | |||
@@ -764,6 +764,7 @@ prefetchw (const void *x) | |||
764 | 764 | ||
765 | extern unsigned long boot_option_idle_override; | 765 | extern unsigned long boot_option_idle_override; |
766 | extern unsigned long idle_halt; | 766 | extern unsigned long idle_halt; |
767 | extern unsigned long idle_nomwait; | ||
767 | 768 | ||
768 | #endif /* !__ASSEMBLY__ */ | 769 | #endif /* !__ASSEMBLY__ */ |
769 | 770 | ||
diff --git a/include/asm-x86/processor.h b/include/asm-x86/processor.h index bc221623248e..55402d2ab938 100644 --- a/include/asm-x86/processor.h +++ b/include/asm-x86/processor.h | |||
@@ -728,6 +728,7 @@ extern void select_idle_routine(const struct cpuinfo_x86 *c); | |||
728 | 728 | ||
729 | extern unsigned long boot_option_idle_override; | 729 | extern unsigned long boot_option_idle_override; |
730 | extern unsigned long idle_halt; | 730 | extern unsigned long idle_halt; |
731 | extern unsigned long idle_nomwait; | ||
731 | 732 | ||
732 | extern void enable_sep_cpu(void); | 733 | extern void enable_sep_cpu(void); |
733 | extern int sysenter_setup(void); | 734 | extern int sysenter_setup(void); |