[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1326831362-28703-1-git-send-email-sjg@chromium.org>
Date: Tue, 17 Jan 2012 12:16:01 -0800
From: Simon Glass <sjg@...omium.org>
To: LKML <linux-kernel@...r.kernel.org>
Cc: Russell King - ARM Linux <linux@....linux.org.uk>,
Stephen Boyd <sboyd@...eaurora.org>,
Simon Glass <sjg@...omium.org>
Subject: [PATCH] ARM: Adjust backtrace messages to line up with x86 kernel
It is nice to print the backtrace message on its own line, and also
regardless of the setting of CONFIG_ARM_UNWIND. This means that tools
which parse the backtrace don't need a special case for the first line.
It also makes it more like the x86 kernel output.
I believe we should also put KERN_EMERG at the start of this. Otherwise
it won't appear in console output (although it will appear in the logs
after a reboot).
The impact of this change is that the log output changes from something
like:
[ 2.861692] 7fe0: 01beb1b8 befcb7d4 0000aebb 40284334 80000010 01be4668 00000000 00000000
[ 2.869866] Backtrace: [<c00bb3f4>] (module_put+0x44/0xc0) from [<c00bdd98>] (sys_init_module+0x186c/0x19c4)
[ 2.881144] [<c00bdd98>] (sys_init_module+0x186c/0x19c4) from [<c0052e00>] (ret_fast_syscall+0x0/0x30)
to:
[ 2.861692] 7fe0: 01beb1b8 befcb7d4 0000aebb 40284334 80000010 01be4668 00000000 00000000
[ 2.869866] Backtrace:
[ 2.872248] [<c00bb3f4>] (module_put+0x44/0xc0) from [<c00bdd98>] (sys_init_module+0x186c/0x19c4)
[ 2.881144] [<c00bdd98>] (sys_init_module+0x186c/0x19c4) from [<c0052e00>] (ret_fast_syscall+0x0/0x30)
(although previously the Backtrace: line didn't appear with CONFIG_ARM_UNWIND
defined)
Signed-off-by: Simon Glass <sjg@...omium.org>
---
arch/arm/kernel/traps.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/arch/arm/kernel/traps.c b/arch/arm/kernel/traps.c
index 99a5727..78a5bbc 100644
--- a/arch/arm/kernel/traps.c
+++ b/arch/arm/kernel/traps.c
@@ -165,6 +165,7 @@ static void dump_instr(const char *lvl, struct pt_regs *regs)
#ifdef CONFIG_ARM_UNWIND
static inline void dump_backtrace(struct pt_regs *regs, struct task_struct *tsk)
{
+ printk(KERN_EMERG "Backtrace:\n");
unwind_backtrace(regs, tsk);
}
#else
@@ -173,7 +174,7 @@ static void dump_backtrace(struct pt_regs *regs, struct task_struct *tsk)
unsigned int fp, mode;
int ok = 1;
- printk("Backtrace: ");
+ printkK(ERN_EMERG "Backtrace:\n");
if (!tsk)
tsk = current;
--
1.7.7.3
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists