diff options
author | Steven Rostedt <srostedt@redhat.com> | 2009-09-11 14:24:13 -0400 |
---|---|---|
committer | Steven Rostedt <rostedt@goodmis.org> | 2009-09-11 14:24:13 -0400 |
commit | f81c972d27c36729e65d4a815e3d7b782a540bad (patch) | |
tree | cc3ad7478f09e47914ffa9b5b9d9c1a7b990c60b /kernel/trace/trace_functions_graph.c | |
parent | 637e7e864103a7a68c1ce43ada27dfc25c0d113f (diff) |
tracing: consolidate code between trace_output.c and trace_function_graph.c
Both trace_output.c and trace_function_graph.c do basically the same
thing to handle the printing of the latency-format. This patch moves
the code into one function that both can use.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Diffstat (limited to 'kernel/trace/trace_functions_graph.c')
-rw-r--r-- | kernel/trace/trace_functions_graph.c | 26 |
1 files changed, 2 insertions, 24 deletions
diff --git a/kernel/trace/trace_functions_graph.c b/kernel/trace/trace_functions_graph.c index 48af49374384..61f166707a08 100644 --- a/kernel/trace/trace_functions_graph.c +++ b/kernel/trace/trace_functions_graph.c | |||
@@ -367,32 +367,10 @@ print_graph_proc(struct trace_seq *s, pid_t pid) | |||
367 | static enum print_line_t | 367 | static enum print_line_t |
368 | print_graph_lat_fmt(struct trace_seq *s, struct trace_entry *entry) | 368 | print_graph_lat_fmt(struct trace_seq *s, struct trace_entry *entry) |
369 | { | 369 | { |
370 | int hardirq, softirq; | 370 | if (!trace_seq_putc(s, ' ')) |
371 | int ret; | ||
372 | |||
373 | hardirq = entry->flags & TRACE_FLAG_HARDIRQ; | ||
374 | softirq = entry->flags & TRACE_FLAG_SOFTIRQ; | ||
375 | |||
376 | if (!trace_seq_printf(s, " %c%c%c", | ||
377 | (entry->flags & TRACE_FLAG_IRQS_OFF) ? 'd' : | ||
378 | (entry->flags & TRACE_FLAG_IRQS_NOSUPPORT) ? | ||
379 | 'X' : '.', | ||
380 | (entry->flags & TRACE_FLAG_NEED_RESCHED) ? | ||
381 | 'N' : '.', | ||
382 | (hardirq && softirq) ? 'H' : | ||
383 | hardirq ? 'h' : softirq ? 's' : '.')) | ||
384 | return 0; | ||
385 | |||
386 | if (entry->lock_depth < 0) | ||
387 | ret = trace_seq_putc(s, '.'); | ||
388 | else | ||
389 | ret = trace_seq_printf(s, "%d", entry->lock_depth); | ||
390 | if (!ret) | ||
391 | return 0; | 371 | return 0; |
392 | 372 | ||
393 | if (entry->preempt_count) | 373 | return trace_print_lat_fmt(s, entry); |
394 | return trace_seq_printf(s, "%x", entry->preempt_count); | ||
395 | return trace_seq_puts(s, "."); | ||
396 | } | 374 | } |
397 | 375 | ||
398 | /* If the pid changed since the last trace, output this event */ | 376 | /* If the pid changed since the last trace, output this event */ |