linux-mips
[Top] [All Lists]

Re: Get stuck in wake_up_process(rq->migration_thread);

To: <KokHow.Teh@infineon.com>, <linux-mips@linux-mips.org>
Subject: Re: Get stuck in wake_up_process(rq->migration_thread);
From: "Kevin D. Kissell" <KevinK@mips.com>
Date: Sun, 4 Nov 2007 10:59:45 -0800
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <31E09F73562D7A4D82119D7F6C17298602B11510@sinse303.ap.infineon.com>
Sender: linux-mips-bounce@linux-mips.org
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@infineon.com>
To: <linux-mips@linux-mips.org>
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
> 
> 

<Prev in Thread] Current Thread [Next in Thread>