On (11/01/18 09:05), Daniel Wang wrote: > > Another deadlock scenario could be the following one: > > > > printk() > > console_trylock() > > down_trylock() > > raw_spin_lock_irqsave(&sem->lock, flags) > > <NMI> > > panic() > > console_flush_on_panic() > > console_trylock() > > raw_spin_lock_irqsave(&sem->lock, flags) // deadlock > > > > There are no patches addressing this one at the moment. And it's > > unclear if you are hitting this scenario. > > I am not sure, but Steven's patches did make the deadlock I saw go away... You certainly can find cases when "busy spin on console_sem owner" logic can reduce some possibilities. But spin_lock(&lock); NMI; spin_lock(&lock); code is still in the kernel. > A little swamped by other things lately but I'll run a test with it. > If it works, would you recommend taking your patch alone Let's first figure out if it works. -ss