On Thu, 2 May 2013, Jonas Gorski wrote: > On Wed, May 1, 2013 at 6:57 AM, EUNBONG SONG <eunb.song@xxxxxxxxxxx> wrote: > > > > Hello. > > After merge cavium board boots fail, boot log messages are as follows. > > I enabled initcall_debug for debugging. > > I can confirm that MIPS does not seem to finish to boot after using > the generic idle loop, I have the same problem on a different platform > (bcm63xx), and bisecting showed the same commit. > > (snip) > > > I found this issue after cdbedc61c8d0122ad682815936f0d11df1fe5f57. > > And i found something strange. I ran the git show for this commit. > > As below "select GENERIC_IDLE_LOOP" is added for CONFIG_MIPS. > > but the latest arch/mips/Kconfig file has not this one. I have tried to find when this is gone. but i can't find. > > Is there any problem with this? > > No, after all architectures were converted to use the generic idle > loop the config symbol was removed, so it's now always on. The problem > is rather that the generic idle loop does not seem to work on MIPS. > Unfortunately due to limited knowledge in this area I can't really > tell which part broke it. Does the patch below fix your issue ? Thanks, tglx diff --git a/kernel/cpu/idle.c b/kernel/cpu/idle.c index 8b86c0c..a8972fe 100644 --- a/kernel/cpu/idle.c +++ b/kernel/cpu/idle.c @@ -70,8 +70,10 @@ static void cpu_idle_loop(void) check_pgt_cache(); rmb(); - if (cpu_is_offline(smp_processor_id())) + if (cpu_is_offline(smp_processor_id())) { arch_cpu_idle_dead(); + continue; + } local_irq_disable(); arch_cpu_idle_enter();