diff options
author | Vegard Nossum <vegard.nossum@gmail.com> | 2008-06-13 05:00:14 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-06-13 07:17:30 -0400 |
commit | a5a242dceed5d1c74fe46088762a9e4312c2d000 (patch) | |
tree | 59f7f7cc3d31150921d078b457ba3bed1591426a /kernel/stacktrace.c | |
parent | 886dd58258e6ddebe20e7aebef7b167a24bad7ee (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.c | 9 |
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 | ||
12 | void print_stack_trace(struct stack_trace *trace, int spaces) | 12 | void 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 | ||