A logic error in mwait_play_dead() causes the kernel to use mwait
even on cpus which don't support it, such as KVM virtual cpus.
Introduced by 349c004e3d31fd.
Fixes: https://bugzilla.kernel.org/show_bug.cgi?id=36222
Reported-by: Török Edwin <[email protected]>
Signed-off-by: Avi Kivity <[email protected]>
---
arch/x86/kernel/smpboot.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c
index eefd967..33a0c11 100644
--- a/arch/x86/kernel/smpboot.c
+++ b/arch/x86/kernel/smpboot.c
@@ -1332,7 +1332,7 @@ static inline void mwait_play_dead(void)
void *mwait_ptr;
struct cpuinfo_x86 *c = __this_cpu_ptr(&cpu_info);
- if (!this_cpu_has(X86_FEATURE_MWAIT) && mwait_usable(c))
+ if (!(this_cpu_has(X86_FEATURE_MWAIT) && mwait_usable(c)))
return;
if (!this_cpu_has(X86_FEATURE_CLFLSH))
return;
--
1.7.5.3
On 05/30/2011 03:23 PM, Avi Kivity wrote:
> A logic error in mwait_play_dead() causes the kernel to use mwait
> even on cpus which don't support it, such as KVM virtual cpus.
>
> Introduced by 349c004e3d31fd.
>
> Fixes: https://bugzilla.kernel.org/show_bug.cgi?id=36222
Confirmed that it fixes it.
>
> Reported-by: Török Edwin <[email protected]>
> Signed-off-by: Avi Kivity <[email protected]>
You can add this if you want to:
Tested-by: Török Edwin <[email protected]>
Thanks,
--Edwin