On Tue, 16 Sep 2014 16:42:52 +0200
Markus Trippelsdorf <[email protected]> wrote:

> commit 458df9fd hardcodes printk_deferred() to KERN_WARNING and inserts
> the string "[sched_delayed] " before the actual message.
> However it doesn't take into account the KERN_* prefix of the message,
> that now ends up in the middle of the output:
> 
>  [sched_delayed] ^a4CE: hpet increased min_delta_ns to 20115 nsec
> 
> Fix this by just getting rid of the "[sched_delayed] " scnprintf().

I prefer the "[sched_delayed]" output. It lets us know that the output
did not come out immediately, which is important sometimes during
debugging. Otherwise it can confuse people, as printk is suppose to be
a blocking write.

Can we instead fix the bug instead of nuking the output? That is, move
the KERN_* prefix before the "[sched_delayed]" message? I don't think
it would be that hard. If you want, I'll write that patch (probably
take me 20 minutes at most), but I'm just coming back from medical
leave so I prefer not to.

-- Steve


> 
> Acked-by: Jan Kara <[email protected]>
> Signed-off-by: Markus Trippelsdorf <[email protected]>
> 
> diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c
> index 1ce770687ea8..f85994b58934 100644
> --- a/kernel/printk/printk.c
> +++ b/kernel/printk/printk.c
> @@ -1680,12 +1680,7 @@ asmlinkage int vprintk_emit(int facility, int level,
>        * The printf needs to come first; we need the syslog
>        * prefix which might be passed-in as a parameter.
>        */
> -     if (in_sched)
> -             text_len = scnprintf(text, sizeof(textbuf),
> -                                  KERN_WARNING "[sched_delayed] ");
> -
> -     text_len += vscnprintf(text + text_len,
> -                            sizeof(textbuf) - text_len, fmt, args);
> +     text_len = vscnprintf(text, sizeof(textbuf), fmt, args);
>  
>       /* mark and strip a trailing newline */
>       if (text_len && text[text_len-1] == '\n') {

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to