Add a need_resched_delayed() check. This was pointed by Sergei Shtylyov; http://ozlabs.org/pipermail/linuxppc-dev/2007-March/033148.html
Signed-off-by: Tsutomu Owa <[EMAIL PROTECTED]> -- owa diff -rup linux-2.6.21-rt1/arch/powerpc/kernel/idle.c rt/arch/powerpc/kernel/idle.c --- linux-2.6.21-rt1/arch/powerpc/kernel/idle.c 2007-05-07 14:08:12.000000000 +0900 +++ rt/arch/powerpc/kernel/idle.c 2007-05-07 14:05:30.000000000 +0900 @@ -70,7 +70,9 @@ void cpu_idle(void) local_irq_disable(); /* check again after disabling irqs */ - if (!need_resched() && !cpu_should_die()) + if (!need_resched() && + !need_resched_delayed() && + !cpu_should_die()) ppc_md.power_save(); local_irq_enable(); - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/