aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/process.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/kernel/process.c')
-rw-r--r--arch/x86/kernel/process.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/x86/kernel/process.c b/arch/x86/kernel/process.c
index dc8ca8ea78c4..8040b752ee4f 100644
--- a/arch/x86/kernel/process.c
+++ b/arch/x86/kernel/process.c
@@ -582,9 +582,17 @@ int mwait_usable(const struct cpuinfo_x86 *c)
582{ 582{
583 u32 eax, ebx, ecx, edx; 583 u32 eax, ebx, ecx, edx;
584 584
585 /* Use mwait if idle=mwait boot option is given */
585 if (boot_option_idle_override == IDLE_FORCE_MWAIT) 586 if (boot_option_idle_override == IDLE_FORCE_MWAIT)
586 return 1; 587 return 1;
587 588
589 /*
590 * Any idle= boot option other than idle=mwait means that we must not
591 * use mwait. Eg: idle=halt or idle=poll or idle=nomwait
592 */
593 if (boot_option_idle_override != IDLE_NO_OVERRIDE)
594 return 0;
595
588 if (c->cpuid_level < MWAIT_INFO) 596 if (c->cpuid_level < MWAIT_INFO)
589 return 0; 597 return 0;
590 598