[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen-unstable] x86: default-disable MWAIT-based idle driver for CPUs without ARAT


  • To: xen-changelog@xxxxxxxxxxxxxxxxxxx
  • From: Xen patchbot-unstable <patchbot@xxxxxxx>
  • Date: Thu, 27 Sep 2012 22:33:22 +0000
  • Delivery-date: Thu, 27 Sep 2012 22:33:25 +0000
  • List-id: "Change log for Mercurial \(receive only\)" <xen-changelog.lists.xen.org>

# HG changeset patch
# User Jan Beulich <jbeulich@xxxxxxxx>
# Date 1348672299 -7200
# Node ID 6bf8b882df8f66ab5500e4d9cc0c3338ae5a6cb9
# Parent  3aa66543a51ba77cb73e8c874e2416d065426a22
x86: default-disable MWAIT-based idle driver for CPUs without ARAT

Without ARAT, and apparently only when using HPET broadcast mode as
replacement, CPUs occasionally fail to wake up, causing the system to
(transiently) hang. Until the reason is understood, disable the driver
on such systems.

Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
Acked-by: Keir Fraser <keir@xxxxxxx>
---


diff -r 3aa66543a51b -r 6bf8b882df8f xen/arch/x86/cpu/mwait-idle.c
--- a/xen/arch/x86/cpu/mwait-idle.c     Wed Sep 26 12:14:30 2012 +0200
+++ b/xen/arch/x86/cpu/mwait-idle.c     Wed Sep 26 17:11:39 2012 +0200
@@ -71,7 +71,7 @@
 # define pr_debug(fmt...)
 #endif
 
-static __initdata bool_t no_mwait_idle;
+static __initdata s8 no_mwait_idle = -1;
 invbool_param("mwait-idle", no_mwait_idle);
 
 static unsigned int mwait_substates;
@@ -500,6 +500,13 @@ int __init mwait_idle_init(struct notifi
        if (pm_idle_save)
                return -ENODEV;
 
+       /* XXX The no-ARAT case is supposedly being taken care of, but at
+        * least some systems without ARAT hang for some reason, apparently
+        * only when using HPET broadcast mode (PIT broadcast mode seems to
+        * be fine). */
+       if (no_mwait_idle < 0 && boot_cpu_has(X86_FEATURE_ARAT))
+               no_mwait_idle = 0;
+
        err = mwait_idle_probe();
        if (!err) {
                if (!boot_cpu_has(X86_FEATURE_ARAT))

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.