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

[Xen-changelog] [xen-unstable] x86: Disable cpuidle by default unless hpet broadcast is available.



# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1239781212 -3600
# Node ID 34dca01addc9917f0f4e4524856143ceb53b1a32
# Parent  94ffd85005c5e34d4ab70e2e2a3f283b44802e36
x86: Disable cpuidle by default unless hpet broadcast is available.
Signed-off-by: Keir Fraser <keir.fraser@xxxxxxxxxx>
---
 xen/arch/x86/setup.c |    2 +-
 xen/arch/x86/time.c  |   13 +++++++++++--
 2 files changed, 12 insertions(+), 3 deletions(-)

diff -r 94ffd85005c5 -r 34dca01addc9 xen/arch/x86/setup.c
--- a/xen/arch/x86/setup.c      Tue Apr 14 15:23:53 2009 +0100
+++ b/xen/arch/x86/setup.c      Wed Apr 15 08:40:12 2009 +0100
@@ -89,7 +89,7 @@ boolean_param("noapic", skip_ioapic_setu
 
 /* **** Linux config option: propagated to domain0. */
 /* xen_cpuidle: xen control cstate. */
-/*static*/ int xen_cpuidle = 1;
+/*static*/ int xen_cpuidle = -1;
 boolean_param("cpuidle", xen_cpuidle);
 
 int early_boot = 1;
diff -r 94ffd85005c5 -r 34dca01addc9 xen/arch/x86/time.c
--- a/xen/arch/x86/time.c       Tue Apr 14 15:23:53 2009 +0100
+++ b/xen/arch/x86/time.c       Wed Apr 15 08:40:12 2009 +0100
@@ -1279,8 +1279,17 @@ static int disable_pit_irq(void)
         hpet_broadcast_init();
         if ( !hpet_broadcast_is_available() )
         {
-            printk("HPET broadcast init failed, turn to PIT broadcast.\n");
-            return 0;
+            if ( xen_cpuidle == -1 )
+            {
+                xen_cpuidle = 0;
+                printk("CPUIDLE: disabled due to no HPET. "
+                       "Force enable with 'cpuidle'.\n");
+            }
+            else
+            {
+                printk("HPET broadcast init failed, turn to PIT broadcast.\n");
+                return 0;
+            }
         }
     }
 

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
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®.