aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/stacktrace.c
diff options
context:
space:
mode:
authorVegard Nossum <vegard.nossum@gmail.com>2008-06-13 05:00:14 -0400
committerIngo Molnar <mingo@elte.hu>2008-06-13 07:17:30 -0400
commita5a242dceed5d1c74fe46088762a9e4312c2d000 (patch)
tree59f7f7cc3d31150921d078b457ba3bed1591426a /kernel/stacktrace.c
parent886dd58258e6ddebe20e7aebef7b167a24bad7ee (diff)
stacktrace: print_stack_trace() cleanup
- shorter code and better atomicity with regards to printk(). (It's been tested with the backtrace self-test code on i386 and x86_64.) Cc: Arjan van de Ven <arjan@infradead.org> Signed-off-by: Vegard Nossum <vegard.nossum@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'kernel/stacktrace.c')
-rw-r--r--kernel/stacktrace.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/kernel/stacktrace.c b/kernel/stacktrace.c
index 0914d0cbc83c..7eaea9d02a52 100644
--- a/kernel/stacktrace.c
+++ b/kernel/stacktrace.c
@@ -11,17 +11,14 @@
11 11
12void print_stack_trace(struct stack_trace *trace, int spaces) 12void print_stack_trace(struct stack_trace *trace, int spaces)
13{ 13{
14 int i, j; 14 int i;
15 15
16 if (WARN_ON(!trace->entries)) 16 if (WARN_ON(!trace->entries))
17 return; 17 return;
18 18
19 for (i = 0; i < trace->nr_entries; i++) { 19 for (i = 0; i < trace->nr_entries; i++) {
20 unsigned long ip = trace->entries[i]; 20 printk("%*c", 1 + spaces, ' ');
21 21 print_ip_sym(trace->entries[i]);
22 for (j = 0; j < spaces + 1; j++)
23 printk(" ");
24 print_ip_sym(ip);
25 } 22 }
26} 23}
27 24