On 2019-02-13, Sergey Senozhatsky <sergey.senozhatsky.work@xxxxxxxxx> wrote: >> - A dedicated kernel thread is created for printing to all consoles in >> a fully preemptible context. > > How do you handle sysrq-<foo> printouts on systems which can't > schedule printk-kthread? If those sysrq printouts are at the emergency loglevel (which most are), then they are printed immediately to the emergency consoles. This has already proved useful for our own kernel debugging work. For example, currently sysrq-z for very large traces result in messages being dropped because of printk buffer overflows. But with the emergency console we always see the full trace buffer. Because you have already done so much work and experimentation with printk-kthreads, I feel like many of your comments are related to your kthread work in this area. Really the big design change I make with my printk-kthread is that it is only for non-critical messages. For anything critical, users should rely on an emergency console. John Ogness