adding Joe Perches as generally he looks after printk stuff. On Fri, Feb 15, 2013 at 2:22 PM, buyitian <buyit@xxxxxxx> 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@xxxxxxxxxxxxxxxxx > http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies > _______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies