Skip to content

Commit

Permalink
[PATCH] x86: Compress stack unwinder output
Browse files Browse the repository at this point in the history
The unwinder has some extra newlines, which eat up loads of screen
space when it spews. (See https://bugzilla.redhat.com/bugzilla/attachment.cgi?id=137900
for a nasty example).

warning_symbol-> and warning-> already printk a newline, so don't add one
in the strings passed to them.

[AK: redone for new code]

Signed-off-by: Dave Jones <davej@redhat.com>
Signed-off-by: Andi Kleen <ak@suse.de>
  • Loading branch information
Andi Kleen authored and Andi Kleen committed Dec 7, 2006
1 parent b615ebd commit dd315df
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 9 deletions.
10 changes: 5 additions & 5 deletions arch/i386/kernel/traps.c
Original file line number Diff line number Diff line change
Expand Up @@ -202,22 +202,22 @@ void dump_trace(struct task_struct *task, struct pt_regs *regs,
if (unw_ret > 0) {
if (call_trace == 1 && !arch_unw_user_mode(&info)) {
ops->warning_symbol(data,
"DWARF2 unwinder stuck at %s\n",
"DWARF2 unwinder stuck at %s",
UNW_PC(&info));
if (UNW_SP(&info) >= PAGE_OFFSET) {
MSG("Leftover inexact backtrace:\n");
MSG("Leftover inexact backtrace:");
stack = (void *)UNW_SP(&info);
if (!stack)
return;
ebp = UNW_FP(&info);
} else
MSG("Full inexact backtrace again:\n");
MSG("Full inexact backtrace again:");
} else if (call_trace >= 1)
return;
else
MSG("Full inexact backtrace again:\n");
MSG("Full inexact backtrace again:");
} else
MSG("Inexact backtrace:\n");
MSG("Inexact backtrace:");
}
if (!stack) {
unsigned long dummy;
Expand Down
8 changes: 4 additions & 4 deletions arch/x86_64/kernel/traps.c
Original file line number Diff line number Diff line change
Expand Up @@ -280,21 +280,21 @@ void dump_trace(struct task_struct *tsk, struct pt_regs *regs,
if (unw_ret > 0) {
if (call_trace == 1 && !arch_unw_user_mode(&info)) {
ops->warning_symbol(data,
"DWARF2 unwinder stuck at %s\n",
"DWARF2 unwinder stuck at %s",
UNW_PC(&info));
if ((long)UNW_SP(&info) < 0) {
MSG("Leftover inexact backtrace:");
stack = (unsigned long *)UNW_SP(&info);
if (!stack)
return;
} else
MSG("Full inexact backtrace again:\n");
MSG("Full inexact backtrace again:");
} else if (call_trace >= 1)
return;
else
MSG("Full inexact backtrace again:\n");
MSG("Full inexact backtrace again:");
} else
MSG("Inexact backtrace:\n");
MSG("Inexact backtrace:");
}
if (!stack) {
unsigned long dummy;
Expand Down

0 comments on commit dd315df

Please sign in to comment.