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 <rostedt@xxxxxxxxxxx> Cc: LKML <linux-kernel@xxxxxxxxxxxxxxx> Signed-off-by: Hannes Reinecke <hare@xxxxxxx> --- 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 -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html