spinlock deadlock

anish kumar anish198519851985 at gmail.com
Fri Feb 15 12:51:01 EST 2013


On Sat, 2013-02-16 at 00:34 +0800, buyitian wrote:
> I am looking at version 3.4
> 
> 在 2013-2-16,0:17,Valdis.Kletnieks at vt.edu 写道:
> 
> > On Fri, 15 Feb 2013 17:17:38 +0530, anish singh said:
> >> adding Joe Perches  as generally he looks after printk stuff.
> >> 
> >> On Fri, Feb 15, 2013 at 2:22 PM, buyitian <buyit at live.cn> wrote:
> >>> is it possible that printk cause deadlock? the path is as below:
> >>> 
> >>> 1. taskA runs on CPU0, and run schedule to acqire the rq->lock.
> >>> 2. taskA calls printk while holding rq->lock.
> >>> 3. taskA holds console_sem.
> >>> 4. taskB runs on CPU1, and call console_lock(), which is blocked by
> >>> console_sem and queue itslef to the wait list.
> >>> 5. taskB migrates from CPU1 to cpu0. will this step occur?
> >>> 6. taskA calls up(&console_sem)-->
> >>> wake_up_process()-->try_to_wake_up()-->ttwu_queue()-->raw_spin_lock(&rq->lock).
> >>> here taskA tries to acquire the rq->lock of CPU0 again.
> > 
> > I'm not Joe, but what kernel release are you looking at?  ISTR that in
> > the last few releases (3.5-ish maybe?), that code got overhauled to
> > prevent a similar issue..
Can you ask this question in kernel maling list?I think you might get a
better reply to your queries.

> > _______________________________________________
> > Kernelnewbies mailing list
> > Kernelnewbies at kernelnewbies.org
> > http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies





More information about the Kernelnewbies mailing list