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/

