On (03/12/19 16:15), John Ogness wrote: > > I suggest the following way forward (separate patchsets): > > > > 1. Replace log buffer (least controversial thing) > > Yes. I will post a series that only implements the ringbuffer using your > simplified API. That will be enough to remove printk_safe and actually > does most of the work of updating devkmsg, kmsg_dump, and syslog. This may _not_ be enough to remove printk_safe. One of the reasons printk_safe "condom" came into existence was console_sem (which is a bit too important to ignore it): printk() console_trylock() console_unlock() up() raw_spin_lock_irqsave(&sem->lock, flags) __up() wake_up_process() WARN/etc printk() console_trylock() down_trylock() raw_spin_lock_irqsave(&sem->lock, flags) << deadlock Back then we were looking at printk->console_sem->lock->printk->console_sem->lock deadlock report from LG, if I'm not mistaken. -ss