diff options
author | Andi Kleen <ak@suse.de> | 2006-12-06 20:14:00 -0500 |
---|---|---|
committer | Andi Kleen <andi@basil.nowhere.org> | 2006-12-06 20:14:00 -0500 |
commit | dd315df1767cf56bd4fb8d730fdff4a3d7e15d84 (patch) | |
tree | 42f27161cce0de38bb18ec534a4a8fafac776189 /arch | |
parent | b615ebdac97c648a2ae7d23c5a0bbb3972adf928 (diff) |
[PATCH] x86: Compress stack unwinder output
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>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/i386/kernel/traps.c | 10 | ||||
-rw-r--r-- | arch/x86_64/kernel/traps.c | 8 |
2 files changed, 9 insertions, 9 deletions
diff --git a/arch/i386/kernel/traps.c b/arch/i386/kernel/traps.c index fe81d89c50d3..396041a46e3d 100644 --- a/arch/i386/kernel/traps.c +++ b/arch/i386/kernel/traps.c | |||
@@ -202,22 +202,22 @@ void dump_trace(struct task_struct *task, struct pt_regs *regs, | |||
202 | if (unw_ret > 0) { | 202 | if (unw_ret > 0) { |
203 | if (call_trace == 1 && !arch_unw_user_mode(&info)) { | 203 | if (call_trace == 1 && !arch_unw_user_mode(&info)) { |
204 | ops->warning_symbol(data, | 204 | ops->warning_symbol(data, |
205 | "DWARF2 unwinder stuck at %s\n", | 205 | "DWARF2 unwinder stuck at %s", |
206 | UNW_PC(&info)); | 206 | UNW_PC(&info)); |
207 | if (UNW_SP(&info) >= PAGE_OFFSET) { | 207 | if (UNW_SP(&info) >= PAGE_OFFSET) { |
208 | MSG("Leftover inexact backtrace:\n"); | 208 | MSG("Leftover inexact backtrace:"); |
209 | stack = (void *)UNW_SP(&info); | 209 | stack = (void *)UNW_SP(&info); |
210 | if (!stack) | 210 | if (!stack) |
211 | return; | 211 | return; |
212 | ebp = UNW_FP(&info); | 212 | ebp = UNW_FP(&info); |
213 | } else | 213 | } else |
214 | MSG("Full inexact backtrace again:\n"); | 214 | MSG("Full inexact backtrace again:"); |
215 | } else if (call_trace >= 1) | 215 | } else if (call_trace >= 1) |
216 | return; | 216 | return; |
217 | else | 217 | else |
218 | MSG("Full inexact backtrace again:\n"); | 218 | MSG("Full inexact backtrace again:"); |
219 | } else | 219 | } else |
220 | MSG("Inexact backtrace:\n"); | 220 | MSG("Inexact backtrace:"); |
221 | } | 221 | } |
222 | if (!stack) { | 222 | if (!stack) { |
223 | unsigned long dummy; | 223 | unsigned long dummy; |
diff --git a/arch/x86_64/kernel/traps.c b/arch/x86_64/kernel/traps.c index d3f43c958ca1..eedd4e759c3a 100644 --- a/arch/x86_64/kernel/traps.c +++ b/arch/x86_64/kernel/traps.c | |||
@@ -280,7 +280,7 @@ void dump_trace(struct task_struct *tsk, struct pt_regs *regs, | |||
280 | if (unw_ret > 0) { | 280 | if (unw_ret > 0) { |
281 | if (call_trace == 1 && !arch_unw_user_mode(&info)) { | 281 | if (call_trace == 1 && !arch_unw_user_mode(&info)) { |
282 | ops->warning_symbol(data, | 282 | ops->warning_symbol(data, |
283 | "DWARF2 unwinder stuck at %s\n", | 283 | "DWARF2 unwinder stuck at %s", |
284 | UNW_PC(&info)); | 284 | UNW_PC(&info)); |
285 | if ((long)UNW_SP(&info) < 0) { | 285 | if ((long)UNW_SP(&info) < 0) { |
286 | MSG("Leftover inexact backtrace:"); | 286 | MSG("Leftover inexact backtrace:"); |
@@ -288,13 +288,13 @@ void dump_trace(struct task_struct *tsk, struct pt_regs *regs, | |||
288 | if (!stack) | 288 | if (!stack) |
289 | return; | 289 | return; |
290 | } else | 290 | } else |
291 | MSG("Full inexact backtrace again:\n"); | 291 | MSG("Full inexact backtrace again:"); |
292 | } else if (call_trace >= 1) | 292 | } else if (call_trace >= 1) |
293 | return; | 293 | return; |
294 | else | 294 | else |
295 | MSG("Full inexact backtrace again:\n"); | 295 | MSG("Full inexact backtrace again:"); |
296 | } else | 296 | } else |
297 | MSG("Inexact backtrace:\n"); | 297 | MSG("Inexact backtrace:"); |
298 | } | 298 | } |
299 | if (!stack) { | 299 | if (!stack) { |
300 | unsigned long dummy; | 300 | unsigned long dummy; |