spinlock deadlock

anish singh anish198519851985 at gmail.com
Fri Feb 15 06:47:38 EST 2013


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.
>
>
>
> _______________________________________________
> Kernelnewbies mailing list
> Kernelnewbies at kernelnewbies.org
> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>



More information about the Kernelnewbies mailing list