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

- From: Joe Perches \<joe@perches.com\>
- Date: 2015-07-30 12:10:52 
- List: netdev
- Page: https://ratatoskr.run/netdev/2015/07/4546674
- Thread: https://ratatoskr.run/netdev/2015/07/4546641/t.md

```text
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.
[]
> diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c
[]
> @@ -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);

> +			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);
>  
```
