]> git.baikalelectronics.ru Git - kernel.git/commit
printk: flush continuation lines immediately to console
authorKay Sievers <kay@vrfy.org>
Thu, 28 Jun 2012 07:38:53 +0000 (09:38 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 29 Jun 2012 15:39:42 +0000 (11:39 -0400)
commitfd091a406aa46e5710be0ef103c6a47746f0ce0d
tree60ef064def42a8b077cf1caaf465bc4029bbf360
parent632d954719dbe1eeb38db62cdaef183ec1ce7fe6
printk: flush continuation lines immediately to console

Continuation lines are buffered internally, intended to merge the
chunked printk()s into a single record, and to isolate potentially
racy continuation users from usual terminated line users.

This though, has the effect that partial lines are not printed to
the console in the moment they are emitted. In case the kernel
crashes in the meantime, the potentially interesting printed
information would never reach the consoles.

Here we share the continuation buffer with the console copy logic,
and partial lines are always immediately flushed to the available
consoles. They are still buffered internally to improve the
readability and integrity of the messages and minimize the amount
of needed record headers to store.

Signed-off-by: Kay Sievers <kay@vrfy.org>
Tested-by: Steven Rostedt <rostedt@goodmis.org>
Acked-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
kernel/printk.c