]> 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)
commit09e6a1bf2fe35452e558ef6d87085216fa7064e6
tree60ef064def42a8b077cf1caaf465bc4029bbf360
parente958aa08af6f62a54c15a20993ce1a05443d8c16
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