From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755026AbaIPUfV (ORCPT ); Tue, 16 Sep 2014 16:35:21 -0400 Received: from cantor2.suse.de ([195.135.220.15]:45133 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753316AbaIPUfU (ORCPT ); Tue, 16 Sep 2014 16:35:20 -0400 Date: Tue, 16 Sep 2014 22:35:10 +0200 From: Jan Kara To: Steven Rostedt Cc: Markus Trippelsdorf , Jan Kara , Geert Uytterhoeven , "linux-kernel@vger.kernel.org" , Andrew Morton , Peter Zijlstra Subject: Re: [PATCH] printk: git rid of [sched_delayed] message for printk_deferred Message-ID: <20140916203510.GF1205@quack.suse.cz> References: <20140914050905.GA296@x4> <20140914055450.GB296@x4> <20140915163740.GA12408@x4> <20140916105547.GA1205@quack.suse.cz> <20140916144252.GB32118@x4> <20140916111331.14303381@gandalf.local.home> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20140916111331.14303381@gandalf.local.home> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue 16-09-14 11:13:31, Steven Rostedt wrote: > On Tue, 16 Sep 2014 16:42:52 +0200 > Markus Trippelsdorf 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. This is a common misconception about printk. It isn't a blocking write for ten years or more. If there happens to be someone else printing to console, the difference between printk() and printk_deferred() is marginal - it used to be bigger when scheduler had its own buffer but these days message is inserted in the kernel ring buffer immediately. That's why I don't think the prefix is useful anymore. > 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. Glad to see you back! I'm not opposed to moving the prefix but it doesn't seem worth the effort... Honza > > Acked-by: Jan Kara > > Signed-off-by: Markus Trippelsdorf > > > > 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') { > -- Jan Kara SUSE Labs, CR