kmsg - do not flush partial lines when the console is busy
authorKay Sievers <kay@vrfy.org>
Tue, 17 Jul 2012 01:35:30 +0000 (18:35 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 17 Jul 2012 01:35:30 +0000 (18:35 -0700)
commiteab072609e11a357181806ab5a5c309ef6eb76f5
treeffad9e6097c3a29fa3a54409e0ba9f551565dcfe
parentd39f3d77c9b1fe7cc33a14beb4a4849af0a4ac22
kmsg - do not flush partial lines when the console is busy

Fragments of continuation lines are flushed to the console immediately. In
case the console is locked, the fragment must be queued up in the cont
buffer.

If the the console is busy and the continuation line is complete, but no part
of it was written to the console up to this point, we can just store the
entire line as a regular record and free the buffer earlier.

If the console is busy and earlier messages are already queued up, we
should not flush the fragments of continuation lines, but store them after
the queued up messages, to ensure the proper ordering.

This keeps the console output better readable in case printk()s race against
each other, or we receive over-long continuation lines we need to flush.

Signed-off-by: Kay Sievers <kay@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
kernel/printk.c
This page took 0.027046 seconds and 5 git commands to generate.