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

Reply via email to