Messages in this thread | | | Date | Fri, 9 Nov 2018 15:47:40 +0900 | From | Sergey Senozhatsky <> | Subject | Re: 4.14 backport request for dbdda842fe96f: "printk: Add console owner and waiter logic to load balance console writes" |
| |
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
| |