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>
This commit is contained in:
Steven Rostedt 2009-06-03 11:10:44 -04:00 committed by Steven Rostedt
parent 56d8bd3f0b
commit 563af16c30

View File

@ -976,7 +976,7 @@ static enum print_line_t trace_stack_print(struct trace_iterator *iter,
trace_assign_type(field, iter->ent); trace_assign_type(field, iter->ent);
if (!trace_seq_puts(s, "\n")) if (!trace_seq_puts(s, "<stack trace>\n"))
goto partial; goto partial;
for (i = 0; i < FTRACE_STACK_ENTRIES; i++) { for (i = 0; i < FTRACE_STACK_ENTRIES; i++) {
if (!field->caller[i] || (field->caller[i] == ULONG_MAX)) 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,
trace_assign_type(field, iter->ent); trace_assign_type(field, iter->ent);
if (!trace_seq_putc(s, '\n')) if (!trace_seq_puts(s, "<user stack trace>\n"))
goto partial; goto partial;
if (!seq_print_userip_objs(field, s, flags)) if (!seq_print_userip_objs(field, s, flags))