• Kay Sievers's avatar
    kmsg - do not flush partial lines when the console is busy · eab07260
    Kay Sievers authored
    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: default avatarKay Sievers <kay@vrfy.org>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    eab07260
printk.c 68.5 KB