diff options
Diffstat (limited to 'arch/x86/kernel/process.c')
-rw-r--r-- | arch/x86/kernel/process.c | 8 |
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 | ||