Skip to content

Commit

Permalink
trace: Change struct trace_event callbacks parameter list
Browse files Browse the repository at this point in the history
Impact: API change

The trace_seq and trace_entry are in trace_iterator, where there are
more fields that may be needed by tracers, so just pass the
tracer_iterator as is already the case for struct tracer->print_line.

Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
  • Loading branch information
Arnaldo Carvalho de Melo authored and Ingo Molnar committed Feb 3, 2009
1 parent c4a8e8b commit 2c9b238
Show file tree
Hide file tree
Showing 5 changed files with 76 additions and 94 deletions.
8 changes: 4 additions & 4 deletions block/blktrace.c
Original file line number Diff line number Diff line change
Expand Up @@ -1140,10 +1140,10 @@ static struct {
[__BLK_TA_REMAP] = {{ "A", "remap" }, blk_log_remap },
};

static int blk_trace_event_print(struct trace_seq *s, struct trace_entry *ent,
int flags)
static int blk_trace_event_print(struct trace_iterator *iter, int flags)
{
const struct blk_io_trace *t = (struct blk_io_trace *)ent;
struct trace_seq *s = &iter->seq;
const struct blk_io_trace *t = (struct blk_io_trace *)iter->ent;
const u16 what = t->action & ((1 << BLK_TC_SHIFT) - 1);
int ret;

Expand All @@ -1153,7 +1153,7 @@ static int blk_trace_event_print(struct trace_seq *s, struct trace_entry *ent,
const bool long_act = !!(trace_flags & TRACE_ITER_VERBOSE);
ret = blk_log_action_seq(s, t, what2act[what].act[long_act]);
if (ret)
ret = what2act[what].print(s, ent);
ret = what2act[what].print(s, iter->ent);
}

return ret ? TRACE_TYPE_HANDLED : TRACE_TYPE_PARTIAL_LINE;
Expand Down
10 changes: 5 additions & 5 deletions kernel/trace/trace.c
Original file line number Diff line number Diff line change
Expand Up @@ -1388,7 +1388,7 @@ static enum print_line_t print_lat_fmt(struct trace_iterator *iter)
}

if (event && event->latency_trace) {
ret = event->latency_trace(s, entry, sym_flags);
ret = event->latency_trace(iter, sym_flags);
if (ret)
return ret;
return TRACE_TYPE_HANDLED;
Expand Down Expand Up @@ -1419,7 +1419,7 @@ static enum print_line_t print_trace_fmt(struct trace_iterator *iter)
}

if (event && event->trace) {
ret = event->trace(s, entry, sym_flags);
ret = event->trace(iter, sym_flags);
if (ret)
return ret;
return TRACE_TYPE_HANDLED;
Expand Down Expand Up @@ -1449,7 +1449,7 @@ static enum print_line_t print_raw_fmt(struct trace_iterator *iter)

event = ftrace_find_event(entry->type);
if (event && event->raw) {
ret = event->raw(s, entry, 0);
ret = event->raw(iter, 0);
if (ret)
return ret;
return TRACE_TYPE_HANDLED;
Expand Down Expand Up @@ -1478,7 +1478,7 @@ static enum print_line_t print_hex_fmt(struct trace_iterator *iter)

event = ftrace_find_event(entry->type);
if (event && event->hex)
event->hex(s, entry, 0);
event->hex(iter, 0);

SEQ_PUT_FIELD_RET(s, newline);

Expand Down Expand Up @@ -1517,7 +1517,7 @@ static enum print_line_t print_bin_fmt(struct trace_iterator *iter)

event = ftrace_find_event(entry->type);
if (event && event->binary)
event->binary(s, entry, 0);
event->binary(iter, 0);

return TRACE_TYPE_HANDLED;
}
Expand Down
7 changes: 3 additions & 4 deletions kernel/trace/trace_branch.c
Original file line number Diff line number Diff line change
Expand Up @@ -160,14 +160,13 @@ trace_print_print(struct trace_seq *s, struct trace_entry *entry, int flags)
return TRACE_TYPE_PARTIAL_LINE;
}

static int
trace_branch_print(struct trace_seq *s, struct trace_entry *entry, int flags)
static int trace_branch_print(struct trace_iterator *iter, int flags)
{
struct trace_branch *field;

trace_assign_type(field, entry);
trace_assign_type(field, iter->ent);

if (trace_seq_printf(s, "[%s] %s:%s:%d\n",
if (trace_seq_printf(&iter->seq, "[%s] %s:%s:%d\n",
field->correct ? " ok " : " MISS ",
field->func,
field->file,
Expand Down
Loading

0 comments on commit 2c9b238

Please sign in to comment.