aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/trace/trace_output.c
diff options
context:
space:
mode:
authorwalimis <walimisdev@gmail.com>2009-06-03 04:01:30 -0400
committerSteven Rostedt <rostedt@goodmis.org>2009-06-03 10:25:30 -0400
commit048dc50c5e7eada19ebabbad70b7966d14283d41 (patch)
tree2d81fa88cfb5ebd5ee2622b4eb7632b1f369a567 /kernel/trace/trace_output.c
parentf11b3f4e2932bfdcfc458ab8d1ece62724ceabfc (diff)
tracing/events: fix output format of user stack
According to "events/ftrace/user_stack/format", fix the output of user stack. before fix: sh-1073 [000] 31.137561: <b7f274fe> <- <0804e33c> <- <080835c1> after fix: sh-1072 [000] 37.039329: => <b7f8a4fe> => <0804e33c> => <080835c1> Signed-off-by: walimis <walimisdev@gmail.com> LKML-Reference: <1244016090-7814-3-git-send-email-walimisdev@gmail.com> Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Diffstat (limited to 'kernel/trace/trace_output.c')
-rw-r--r--kernel/trace/trace_output.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/kernel/trace/trace_output.c b/kernel/trace/trace_output.c
index 64596a571609..8dadbbbd2d5c 100644
--- a/kernel/trace/trace_output.c
+++ b/kernel/trace/trace_output.c
@@ -389,17 +389,20 @@ seq_print_userip_objs(const struct userstack_entry *entry, struct trace_seq *s,
389 389
390 if (ip == ULONG_MAX || !ret) 390 if (ip == ULONG_MAX || !ret)
391 break; 391 break;
392 if (i && ret) 392 if (ret)
393 ret = trace_seq_puts(s, " <- "); 393 ret = trace_seq_puts(s, " => ");
394 if (!ip) { 394 if (!ip) {
395 if (ret) 395 if (ret)
396 ret = trace_seq_puts(s, "??"); 396 ret = trace_seq_puts(s, "??");
397 if (ret)
398 ret = trace_seq_puts(s, "\n");
397 continue; 399 continue;
398 } 400 }
399 if (!ret) 401 if (!ret)
400 break; 402 break;
401 if (ret) 403 if (ret)
402 ret = seq_print_user_ip(s, mm, ip, sym_flags); 404 ret = seq_print_user_ip(s, mm, ip, sym_flags);
405 ret = trace_seq_puts(s, "\n");
403 } 406 }
404 407
405 if (mm) 408 if (mm)
@@ -1012,10 +1015,10 @@ static enum print_line_t trace_user_stack_print(struct trace_iterator *iter,
1012 1015
1013 trace_assign_type(field, iter->ent); 1016 trace_assign_type(field, iter->ent);
1014 1017
1015 if (!seq_print_userip_objs(field, s, flags)) 1018 if (!trace_seq_putc(s, '\n'))
1016 goto partial; 1019 goto partial;
1017 1020
1018 if (!trace_seq_putc(s, '\n')) 1021 if (!seq_print_userip_objs(field, s, flags))
1019 goto partial; 1022 goto partial;
1020 1023
1021 return TRACE_TYPE_HANDLED; 1024 return TRACE_TYPE_HANDLED;