Messages in this thread | | | Date | Tue, 16 Sep 2014 11:13:31 -0400 | From | Steven Rostedt <> | Subject | Re: [PATCH] printk: git rid of [sched_delayed] message for printk_deferred |
| |
On Tue, 16 Sep 2014 16:42:52 +0200 Markus Trippelsdorf <markus@trippelsdorf.de> 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 <jack@suse.cz> > Signed-off-by: Markus Trippelsdorf <markus@trippelsdorf.de> > > 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') {
| |