From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754187AbaI2L75 (ORCPT ); Mon, 29 Sep 2014 07:59:57 -0400 Received: from cantor2.suse.de ([195.135.220.15]:59328 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753815AbaI2L7R (ORCPT ); Mon, 29 Sep 2014 07:59:17 -0400 From: Hannes Reinecke To: James Bottomley Cc: Christoph Hellwig , linux-scsi@vger.kernel.org, Robert Elliott , Hannes Reinecke , Steven Rostedt , LKML Subject: [PATCH 27/38] Rearrange buffer formatting in printk() Date: Mon, 29 Sep 2014 13:58:56 +0200 Message-Id: <1411991947-130166-28-git-send-email-hare@suse.de> X-Mailer: git-send-email 1.8.5.2 In-Reply-To: <1411991947-130166-1-git-send-email-hare@suse.de> References: <1411991947-130166-1-git-send-email-hare@suse.de> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Move buffer formatting to the start of the function as it doesn't require to be done under any locks. No functional change, required by the next patch. Cc: Steven Rostedt Cc: LKML Signed-off-by: Hannes Reinecke --- kernel/printk/printk.c | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c index 1ce7706..d13675e 100644 --- a/kernel/printk/printk.c +++ b/kernel/printk/printk.c @@ -1633,8 +1633,18 @@ asmlinkage int vprintk_emit(int facility, int level, if (level == SCHED_MESSAGE_LOGLEVEL) { level = -1; in_sched = true; + + /* + * The printf needs to come first; we need the syslog + * prefix which might be passed-in as a parameter. + */ + text_len = scnprintf(text, sizeof(textbuf), + KERN_WARNING "[sched_delayed] "); } + text_len += vscnprintf(text + text_len, + sizeof(textbuf) - text_len, fmt, args); + boot_delay_msec(level); printk_delay(); @@ -1676,17 +1686,6 @@ asmlinkage int vprintk_emit(int facility, int level, strlen(recursion_msg)); } - /* - * 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); - /* mark and strip a trailing newline */ if (text_len && text[text_len-1] == '\n') { text_len--; -- 1.8.5.2