From: Haavard Skinnemoen Date: Fri, 15 Feb 2008 13:38:40 +0000 (+0100) Subject: avr32: Call tick_nohz_{stop,restart}_sched_tick() in idle loop X-Git-Tag: v2.6.25-rc4~143^2~1 X-Git-Url: http://www.pilppa.org/gitweb/gitweb.cgi?a=commitdiff_plain;h=d45ad06273f797f6239b97fd9962ecd81eec847f;p=linux-2.6-omap-h63xx.git avr32: Call tick_nohz_{stop,restart}_sched_tick() in idle loop This fixes a hang on boot with nohz enabled. nohz is not actually supported in mainline yet, but patches that add support for it are currently under review. When nohz is compiled out, the functions are no-ops, so this patch results in no functional change, but it arguably makes the code more correct. Signed-off-by: Haavard Skinnemoen --- diff --git a/arch/avr32/kernel/process.c b/arch/avr32/kernel/process.c index eaaa69bbdc3..faf8d0e7680 100644 --- a/arch/avr32/kernel/process.c +++ b/arch/avr32/kernel/process.c @@ -11,6 +11,7 @@ #include #include #include +#include #include #include @@ -30,8 +31,10 @@ void cpu_idle(void) { /* endless idle loop with no priority at all */ while (1) { + tick_nohz_stop_sched_tick(); while (!need_resched()) cpu_idle_sleep(); + tick_nohz_restart_sched_tick(); preempt_enable_no_resched(); schedule(); preempt_disable();