Message ID | 20210715193359.25946-1-john.ogness@linutronix.de (mailing list archive) |
---|---|
Headers | show |
Series | printk: remove safe buffers | expand |
On Thu 2021-07-15 21:39:53, John Ogness wrote: > Hi, > > Here is v4 of a series to remove the safe buffers. v3 can be > found here [0]. The safe buffers are no longer needed because > messages can be stored directly into the log buffer from any > context. > > However, the safe buffers also provided a form of recursion > protection. For that reason, explicit recursion protection is > implemented for this series. > > The safe buffers also implicitly provided serialization > between multiple CPUs executing in NMI context. This was > particularly necessary for the nmi_backtrace() output. This > serializiation is now preserved by using the printk cpulock. > > With the removal of the safe buffers, there is no need for > extra NMI enter/exit tracking. So this is also removed > (which includes removing the config option CONFIG_PRINTK_NMI). > > And finally, there are a few places in the kernel that need to > specify code blocks where all printk calls are to be deferred > printing. Previously the NMI tracking API was being (mis)used > for this purpose. This series introduces an official and > explicit interface for such cases. (Note that all deferred > printing will be removed anyway, once printing kthreads are > introduced.) > > John Ogness (6): > lib/nmi_backtrace: explicitly serialize banner and regs > printk: track/limit recursion > printk: remove safe buffers > printk: remove NMI tracking > printk: convert @syslog_lock to mutex > printk: syslog: close window between wait and read The entire patchset has been committed into printk/linux.git, branch rework/printk_safe-removal. Note that I have updated the 4th patch as discussed, see https://lore.kernel.org/r/20210721120026.y3dqno24ahw4sazy@pathway.suse.cz https://lore.kernel.org/r/20210721130852.zrjnti6b3fwjgdzj@pathway.suse.cz Best Regards, Petr