ia64/xen-unstable

changeset 14180:868c28c0a4f4

linux: Disable idle-loop alternatives.

ACPI and APM idle functions in particular are not suitable choices
when running on Xen.

Signed-off-by: Keir Fraser <keir@xensource.com>
author kfraser@localhost.localdomain
date Wed Feb 28 14:34:25 2007 +0000 (2007-02-28)
parents aac0a4b8e328
children d39dcdb9cca3
files linux-2.6-xen-sparse/arch/i386/kernel/process-xen.c linux-2.6-xen-sparse/arch/x86_64/kernel/process-xen.c
line diff
     1.1 --- a/linux-2.6-xen-sparse/arch/i386/kernel/process-xen.c	Wed Feb 28 14:26:26 2007 +0000
     1.2 +++ b/linux-2.6-xen-sparse/arch/i386/kernel/process-xen.c	Wed Feb 28 14:34:25 2007 +0000
     1.3 @@ -101,7 +101,7 @@ EXPORT_SYMBOL(enable_hlt);
     1.4   * to poll the ->work.need_resched flag instead of waiting for the
     1.5   * cross-CPU IPI to arrive. Use this option with caution.
     1.6   */
     1.7 -static void poll_idle(void)
     1.8 +static void poll_idle (void)
     1.9  {
    1.10  	local_irq_enable();
    1.11  
    1.12 @@ -169,10 +169,7 @@ void cpu_idle(void)
    1.13  				__get_cpu_var(cpu_idle_state) = 0;
    1.14  
    1.15  			rmb();
    1.16 -			idle = pm_idle;
    1.17 -
    1.18 -			if (!idle)
    1.19 -				idle = xen_idle;
    1.20 +			idle = xen_idle; /* no alternatives */
    1.21  
    1.22  			if (cpu_is_offline(cpu))
    1.23  				play_dead();
     2.1 --- a/linux-2.6-xen-sparse/arch/x86_64/kernel/process-xen.c	Wed Feb 28 14:26:26 2007 +0000
     2.2 +++ b/linux-2.6-xen-sparse/arch/x86_64/kernel/process-xen.c	Wed Feb 28 14:34:25 2007 +0000
     2.3 @@ -117,7 +117,7 @@ void exit_idle(void)
     2.4   * to poll the ->need_resched flag instead of waiting for the
     2.5   * cross-CPU IPI to arrive. Use this option with caution.
     2.6   */
     2.7 -static void poll_idle(void)
     2.8 +static void poll_idle (void)
     2.9  {
    2.10  	local_irq_enable();
    2.11  
    2.12 @@ -179,9 +179,7 @@ void cpu_idle (void)
    2.13  			if (__get_cpu_var(cpu_idle_state))
    2.14  				__get_cpu_var(cpu_idle_state) = 0;
    2.15  			rmb();
    2.16 -			idle = pm_idle;
    2.17 -			if (!idle)
    2.18 -				idle = xen_idle;
    2.19 +			idle = xen_idle; /* no alternatives */
    2.20  			if (cpu_is_offline(smp_processor_id()))
    2.21  				play_dead();
    2.22  			enter_idle();