summaryrefslogtreecommitdiff
path: root/kernel/trace/trace.c
diff options
context:
space:
mode:
authorSteven Rostedt <srostedt@redhat.com>2009-03-04 21:57:29 -0500
committerSteven Rostedt <srostedt@redhat.com>2009-03-04 21:57:29 -0500
commit27d48be84477d2f0a2e2ac3738a3971dece631d5 (patch)
tree92d4b896df1102b0aaa3c01d71fdecd75faa601f /kernel/trace/trace.c
parent5fd73f862468280d4cbb5ba4321502f911f9f89a (diff)
downloadlwn-27d48be84477d2f0a2e2ac3738a3971dece631d5.tar.gz
lwn-27d48be84477d2f0a2e2ac3738a3971dece631d5.zip
tracing: consolidate print_lat_fmt and print_trace_fmt
Impact: clean up Both print_lat_fmt and print_trace_fmt do pretty much the same thing except for one different function call. This patch consolidates the two functions and adds an if statement to perform the difference. Signed-off-by: Steven Rostedt <srostedt@redhat.com>
Diffstat (limited to 'kernel/trace/trace.c')
-rw-r--r--kernel/trace/trace.c39
1 files changed, 7 insertions, 32 deletions
diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
index 21b89ecb8480..d1ef43999d9e 100644
--- a/kernel/trace/trace.c
+++ b/kernel/trace/trace.c
@@ -1468,33 +1468,6 @@ static void test_cpu_buff_start(struct trace_iterator *iter)
trace_seq_printf(s, "##### CPU %u buffer started ####\n", iter->cpu);
}
-static enum print_line_t print_lat_fmt(struct trace_iterator *iter)
-{
- struct trace_seq *s = &iter->seq;
- unsigned long sym_flags = (trace_flags & TRACE_ITER_SYM_MASK);
- struct trace_event *event;
- struct trace_entry *entry = iter->ent;
-
- test_cpu_buff_start(iter);
-
- event = ftrace_find_event(entry->type);
-
- if (trace_flags & TRACE_ITER_CONTEXT_INFO) {
- if (!trace_print_lat_context(iter))
- goto partial;
- }
-
- if (event)
- return event->trace(iter, sym_flags);
-
- if (!trace_seq_printf(s, "Unknown type %d\n", entry->type))
- goto partial;
-
- return TRACE_TYPE_HANDLED;
-partial:
- return TRACE_TYPE_PARTIAL_LINE;
-}
-
static enum print_line_t print_trace_fmt(struct trace_iterator *iter)
{
struct trace_seq *s = &iter->seq;
@@ -1509,8 +1482,13 @@ static enum print_line_t print_trace_fmt(struct trace_iterator *iter)
event = ftrace_find_event(entry->type);
if (trace_flags & TRACE_ITER_CONTEXT_INFO) {
- if (!trace_print_context(iter))
- goto partial;
+ if (iter->iter_flags & TRACE_FILE_LAT_FMT) {
+ if (!trace_print_lat_context(iter))
+ goto partial;
+ } else {
+ if (!trace_print_context(iter))
+ goto partial;
+ }
}
if (event)
@@ -1652,9 +1630,6 @@ static enum print_line_t print_trace_line(struct trace_iterator *iter)
if (trace_flags & TRACE_ITER_RAW)
return print_raw_fmt(iter);
- if (iter->iter_flags & TRACE_FILE_LAT_FMT)
- return print_lat_fmt(iter);
-
return print_trace_fmt(iter);
}