On 2019-02-13, David Laight <David.Laight@xxxxxxxxxx> wrote: > ... >> - A dedicated kernel thread is created for printing to all consoles in >> a fully preemptible context. >> >> - A new (optional) console operation "write_atomic" is introduced that >> console drivers may implement. This function must be NMI-safe. An >> implementation for the 8250 UART driver is provided. >> >> - The concept of "emergency messages" is introduced that allows >> important messages (based on a new emergency loglevel threshold) to >> be immediately written to any consoles supporting write_atomic, >> regardless of the context. > ... > > Does this address my usual 'gripe' that the output is written to the > console by syslogd and not by the kernel itself? If I understand it correctly, your usual 'gripe' is aimed at distributions that are turning off the kernel writing directly to the console. I don't see how that is a kernel issue. > When you are trying to find out where the system is completely > deadlocking you need the 'old fashioned' completely synchronous kernel > printf(). Emergency messages will give you that. They differ from the current implementation by changing printk to have the caller print only _their_ message directly without concern for past unseen non-emergency messages or which context they are in. John Ogness