We have a proper 'overflow' check which tells us that we need to
split up existing cont buffer in separate records:

        if (cont.len + len > sizeof(cont.buf))
                cont_flush();

At the same time we also have one extra flush: "if cont buffer is
80% full then split it up" in cont_add():

        if (cont.len > (sizeof(cont.buf) * 80) / 100)
                cont_flush();

This looks to be redundant, since the existing "overflow" check
should work just fine, so remove this 80% check and wait for either
a normal cont termination \n, for preliminary flush due to
possible buffer overflow or for preliminary flush due to cont race.

Signed-off-by: Sergey Senozhatsky <sergey.senozhat...@gmail.com>
---
 kernel/printk/printk.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c
index aea37b7927dd..1856db8128c6 100644
--- a/kernel/printk/printk.c
+++ b/kernel/printk/printk.c
@@ -1822,9 +1822,6 @@ static bool cont_add(int facility, int level, enum 
log_flags flags, const char *
                cont_flush();
        }
 
-       if (cont.len > (sizeof(cont.buf) * 80) / 100)
-               cont_flush();
-
        return true;
 }
 
-- 
2.19.0

Reply via email to