Your description isn't much to go on, but the first thing I'd look at in such a situation would be the state of the Cause and Status registers on the two VPEs. Cross-VPE scheduling interrupts on the standard emulation platform, which lacks hardware support for cross-VPE interrupts, sends IPIs by reaching across using MTTR instructions and setting a software interrupt bit on the other VPE. Other uses of the same software interrupt (SW1 by default), or manipulations in other kernel code that might clear its IM bit in the Status register, could cause that mechanism to break down and cease processing interprocessor interrupts. It's a common failure mode if one botches a mod to SMTC, and I've seen it on an SMVP port as well. Kevin K. ----- Original Message ----- From: <KokHow.Teh@xxxxxxxxxxxx> To: <linux-mips@xxxxxxxxxxxxxx> Sent: Sunday, November 04, 2007 3:26 AM Subject: Get stuck in wake_up_process(rq->migration_thread); > Hi; > I have a linux-2.6.20 kernel configured with CONFIG_MIPS_MT_SMP > (SMVPE) running on a MIPS34KC processor emulation platform. Everything > goes fine until the scheduler gets stuck in trying to wake up the > migration thread. I configured the kernel with max_cache_size=2097152, > having no idea of what the variable is all about. Putting debug messages > in kernel/sched.c tells me that the the migration_thread() routine has > gone to sleep calling schedul() function and set_cpus_allowed() function > gets stuck in wake_up_process(rq->migration_thread); > Any insight is appreciated. > > Regards. > KH > >