Re: [PATCH] printk: Warn about dropped messages also on extended consoles

From
Joe Perches <joe@perches.com>
Date
2015-07-30 12:10:52
Also in
lkml
Reply to
Petr Mladek, 2015-07-30
On Thu, 2015-07-30 at 13:28 +0200, Petr Mladek wrote:
The commit #6fe29354befe4c ("printk: implement support for extended console
drivers") added an extra buffer to format messages for extended consoles.
We need to put there also the warning about dropped messages, so it appears
on these consoles.
[]
quoted hunk ↗ jump to hunk
diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c
[]
quoted hunk ↗ jump to hunk
@@ -2254,8 +2254,15 @@ again:
 		}
 
 		if (console_seq < log_first_seq) {
-			len = sprintf(text, "** %u printk messages dropped ** ",
-				      (unsigned)(log_first_seq - console_seq));
+			static const char dropped_msg[] =
+				"** %u printk messages dropped ** ";
I don't see any value in dropped_msg as a
const char array instead of just using it directly
as a format in sprintf.  The linker will still use
a single format string in any case.

memcpy might be faster.

	if (nr_ext_console_drivers)
		memcpy(ext_text, text, len + 1);
quoted hunk ↗ jump to hunk
+			unsigned int dropped_count =
+				(unsigned int)(log_first_seq - console_seq);
+
+			len = sprintf(text, dropped_msg, dropped_count);
+			if (nr_ext_console_drivers)
+				ext_len = sprintf(ext_text, dropped_msg,
+						  dropped_count);
 
Thread (4 messages) 4 messages, 3 authors, 2015-07-30
Keyboard shortcuts
hback out one level
jnext message in thread / next series-diff position
kprevious message in thread / previous series-diff position
ldrill in
Escclose help / fold thread tree
?toggle this help