diff options
author | Steven Rostedt <srostedt@redhat.com> | 2009-06-03 11:10:44 -0400 |
---|---|---|
committer | Steven Rostedt <rostedt@goodmis.org> | 2009-06-03 11:10:44 -0400 |
commit | 563af16c30ede41eda2d614195d88e07f7c7103d (patch) | |
tree | a56b4f3339b8850b8f1fd9064bb99d50cd99aa79 | |
parent | 56d8bd3f0b98972312cad683947ec90b21011199 (diff) |
tracing: add annotation to what type of stack trace is recorded
The current method of printing out a stack trace is to add a new line
and print out the trace:
yum-updatesd-3120 [002] 573.691303:
=> do_softirq
=> irq_exit
=> smp_apic_timer_interrupt
=> apic_timer_interrupt
This looks a bit awkward, and if we have both stack and user stack traces
running, it would be nice to have a title to tell them apart, although
it is easy to tell by the output.
This patch adds an annotation to the start of the stack traces:
init-1 [003] 929.304979: <stack trace>
=> user_path_at
=> vfs_fstatat
=> vfs_stat
=> sys_newstat
=> system_call_fastpath
cat-3459 [002] 1016.824040: <user stack trace>
=> <0000003aae6c0250>
=> <00007ffff4b06ae4>
=> <69636172742f6775>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
-rw-r--r-- | kernel/trace/trace_output.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/kernel/trace/trace_output.c b/kernel/trace/trace_output.c index 8afeea412e77..425725c1622d 100644 --- a/kernel/trace/trace_output.c +++ b/kernel/trace/trace_output.c | |||
@@ -976,7 +976,7 @@ static enum print_line_t trace_stack_print(struct trace_iterator *iter, | |||
976 | 976 | ||
977 | trace_assign_type(field, iter->ent); | 977 | trace_assign_type(field, iter->ent); |
978 | 978 | ||
979 | if (!trace_seq_puts(s, "\n")) | 979 | if (!trace_seq_puts(s, "<stack trace>\n")) |
980 | goto partial; | 980 | goto partial; |
981 | for (i = 0; i < FTRACE_STACK_ENTRIES; i++) { | 981 | for (i = 0; i < FTRACE_STACK_ENTRIES; i++) { |
982 | if (!field->caller[i] || (field->caller[i] == ULONG_MAX)) | 982 | if (!field->caller[i] || (field->caller[i] == ULONG_MAX)) |
@@ -1013,7 +1013,7 @@ static enum print_line_t trace_user_stack_print(struct trace_iterator *iter, | |||
1013 | 1013 | ||
1014 | trace_assign_type(field, iter->ent); | 1014 | trace_assign_type(field, iter->ent); |
1015 | 1015 | ||
1016 | if (!trace_seq_putc(s, '\n')) | 1016 | if (!trace_seq_puts(s, "<user stack trace>\n")) |
1017 | goto partial; | 1017 | goto partial; |
1018 | 1018 | ||
1019 | if (!seq_print_userip_objs(field, s, flags)) | 1019 | if (!seq_print_userip_objs(field, s, flags)) |