mirror of
https://github.com/torvalds/linux.git
synced 2026-03-08 01:04:41 +01:00
perf tool: Add the perf_tool argument to all callbacks
Getting context for what a tool is doing, such as the perf_inject instance, using container_of the tool is a common pattern in the code. This isn't possible event_op2, event_op3 and event_op4 callbacks as the tool isn't passed. Add the argument and then fix function signatures to match. As tools maybe reading a tool from somewhere else, change that code to use the passed in tool. Signed-off-by: Ian Rogers <irogers@google.com> Signed-off-by: Namhyung Kim <namhyung@kernel.org>
This commit is contained in:
parent
fa4a527af5
commit
71062e282d
17 changed files with 138 additions and 97 deletions
|
|
@ -313,7 +313,8 @@ out_put:
|
|||
return ret;
|
||||
}
|
||||
|
||||
static int process_feature_event(struct perf_session *session,
|
||||
static int process_feature_event(const struct perf_tool *tool __maybe_unused,
|
||||
struct perf_session *session,
|
||||
union perf_event *event)
|
||||
{
|
||||
if (event->feat.feat_id < HEADER_LAST_FEATURE)
|
||||
|
|
|
|||
|
|
@ -19,7 +19,8 @@
|
|||
#include "util/tool.h"
|
||||
#include "util/util.h"
|
||||
|
||||
static int process_header_feature(struct perf_session *session __maybe_unused,
|
||||
static int process_header_feature(const struct perf_tool *tool __maybe_unused,
|
||||
struct perf_session *session __maybe_unused,
|
||||
union perf_event *event __maybe_unused)
|
||||
{
|
||||
session_done = 1;
|
||||
|
|
|
|||
|
|
@ -197,18 +197,20 @@ static int perf_event__drop_oe(const struct perf_tool *tool __maybe_unused,
|
|||
}
|
||||
#endif
|
||||
|
||||
static int perf_event__repipe_op2_synth(struct perf_session *session,
|
||||
static int perf_event__repipe_op2_synth(const struct perf_tool *tool,
|
||||
struct perf_session *session __maybe_unused,
|
||||
union perf_event *event)
|
||||
{
|
||||
return perf_event__repipe_synth(session->tool, event);
|
||||
return perf_event__repipe_synth(tool, event);
|
||||
}
|
||||
|
||||
static int perf_event__repipe_op4_synth(struct perf_session *session,
|
||||
static int perf_event__repipe_op4_synth(const struct perf_tool *tool,
|
||||
struct perf_session *session __maybe_unused,
|
||||
union perf_event *event,
|
||||
u64 data __maybe_unused,
|
||||
const char *str __maybe_unused)
|
||||
{
|
||||
return perf_event__repipe_synth(session->tool, event);
|
||||
return perf_event__repipe_synth(tool, event);
|
||||
}
|
||||
|
||||
static int perf_event__repipe_attr(const struct perf_tool *tool,
|
||||
|
|
@ -258,12 +260,11 @@ static int copy_bytes(struct perf_inject *inject, struct perf_data *data, off_t
|
|||
return 0;
|
||||
}
|
||||
|
||||
static s64 perf_event__repipe_auxtrace(struct perf_session *session,
|
||||
static s64 perf_event__repipe_auxtrace(const struct perf_tool *tool,
|
||||
struct perf_session *session,
|
||||
union perf_event *event)
|
||||
{
|
||||
const struct perf_tool *tool = session->tool;
|
||||
struct perf_inject *inject = container_of(tool, struct perf_inject,
|
||||
tool);
|
||||
struct perf_inject *inject = container_of(tool, struct perf_inject, tool);
|
||||
int ret;
|
||||
|
||||
inject->have_auxtrace = true;
|
||||
|
|
@ -299,7 +300,8 @@ static s64 perf_event__repipe_auxtrace(struct perf_session *session,
|
|||
#else
|
||||
|
||||
static s64
|
||||
perf_event__repipe_auxtrace(struct perf_session *session __maybe_unused,
|
||||
perf_event__repipe_auxtrace(const struct perf_tool *tool __maybe_unused,
|
||||
struct perf_session *session __maybe_unused,
|
||||
union perf_event *event __maybe_unused)
|
||||
{
|
||||
pr_err("AUX area tracing not supported\n");
|
||||
|
|
@ -661,12 +663,13 @@ static int perf_event__repipe_exit(const struct perf_tool *tool,
|
|||
}
|
||||
|
||||
#ifdef HAVE_LIBTRACEEVENT
|
||||
static int perf_event__repipe_tracing_data(struct perf_session *session,
|
||||
static int perf_event__repipe_tracing_data(const struct perf_tool *tool,
|
||||
struct perf_session *session,
|
||||
union perf_event *event)
|
||||
{
|
||||
perf_event__repipe_synth(session->tool, event);
|
||||
perf_event__repipe_synth(tool, event);
|
||||
|
||||
return perf_event__process_tracing_data(session, event);
|
||||
return perf_event__process_tracing_data(tool, session, event);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
@ -1348,7 +1351,7 @@ static int process_build_id(const struct perf_tool *tool,
|
|||
{
|
||||
struct perf_inject *inject = container_of(tool, struct perf_inject, tool);
|
||||
|
||||
return perf_event__process_build_id(inject->session, event);
|
||||
return perf_event__process_build_id(tool, inject->session, event);
|
||||
}
|
||||
|
||||
static int synthesize_build_id(struct perf_inject *inject, struct dso *dso, pid_t machine_pid)
|
||||
|
|
@ -1780,9 +1783,10 @@ static int host__repipe(const struct perf_tool *tool,
|
|||
return perf_event__repipe(tool, event, sample, machine);
|
||||
}
|
||||
|
||||
static int host__finished_init(struct perf_session *session, union perf_event *event)
|
||||
static int host__finished_init(const struct perf_tool *tool, struct perf_session *session,
|
||||
union perf_event *event)
|
||||
{
|
||||
struct perf_inject *inject = container_of(session->tool, struct perf_inject, tool);
|
||||
struct perf_inject *inject = container_of(tool, struct perf_inject, tool);
|
||||
struct guest_session *gs = &inject->guest_session;
|
||||
int ret;
|
||||
|
||||
|
|
@ -1829,7 +1833,7 @@ static int host__finished_init(struct perf_session *session, union perf_event *e
|
|||
if (ret)
|
||||
return ret;
|
||||
|
||||
return perf_event__repipe_op2_synth(session, event);
|
||||
return perf_event__repipe_op2_synth(tool, session, event);
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
|||
|
|
@ -240,10 +240,11 @@ static void setup_forced_leader(struct report *report,
|
|||
evlist__force_leader(evlist);
|
||||
}
|
||||
|
||||
static int process_feature_event(struct perf_session *session,
|
||||
static int process_feature_event(const struct perf_tool *tool,
|
||||
struct perf_session *session,
|
||||
union perf_event *event)
|
||||
{
|
||||
struct report *rep = container_of(session->tool, struct report, tool);
|
||||
struct report *rep = container_of(tool, struct report, tool);
|
||||
|
||||
if (event->feat.feat_id < HEADER_LAST_FEATURE)
|
||||
return perf_event__process_feature(session, event);
|
||||
|
|
|
|||
|
|
@ -2729,7 +2729,8 @@ static int process_switch_event(const struct perf_tool *tool,
|
|||
sample->tid);
|
||||
}
|
||||
|
||||
static int process_auxtrace_error(struct perf_session *session,
|
||||
static int process_auxtrace_error(const struct perf_tool *tool,
|
||||
struct perf_session *session,
|
||||
union perf_event *event)
|
||||
{
|
||||
if (scripting_ops && scripting_ops->process_auxtrace_error) {
|
||||
|
|
@ -2737,7 +2738,7 @@ static int process_auxtrace_error(struct perf_session *session,
|
|||
return 0;
|
||||
}
|
||||
|
||||
return perf_event__process_auxtrace_error(session, event);
|
||||
return perf_event__process_auxtrace_error(tool, session, event);
|
||||
}
|
||||
|
||||
static int
|
||||
|
|
@ -2785,7 +2786,8 @@ process_bpf_events(const struct perf_tool *tool __maybe_unused,
|
|||
}
|
||||
|
||||
static int
|
||||
process_bpf_metadata_event(struct perf_session *session __maybe_unused,
|
||||
process_bpf_metadata_event(const struct perf_tool *tool __maybe_unused,
|
||||
struct perf_session *session __maybe_unused,
|
||||
union perf_event *event)
|
||||
{
|
||||
perf_event__fprintf(event, NULL, stdout);
|
||||
|
|
@ -3544,7 +3546,8 @@ static void script__setup_sample_type(struct perf_script *script)
|
|||
}
|
||||
}
|
||||
|
||||
static int process_stat_round_event(struct perf_session *session,
|
||||
static int process_stat_round_event(const struct perf_tool *tool __maybe_unused,
|
||||
struct perf_session *session,
|
||||
union perf_event *event)
|
||||
{
|
||||
struct perf_record_stat_round *round = &event->stat_round;
|
||||
|
|
@ -3559,7 +3562,8 @@ static int process_stat_round_event(struct perf_session *session,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int process_stat_config_event(struct perf_session *session __maybe_unused,
|
||||
static int process_stat_config_event(const struct perf_tool *tool __maybe_unused,
|
||||
struct perf_session *session __maybe_unused,
|
||||
union perf_event *event)
|
||||
{
|
||||
perf_event__read_stat_config(&stat_config, &event->stat_config);
|
||||
|
|
@ -3593,10 +3597,10 @@ static int set_maps(struct perf_script *script)
|
|||
}
|
||||
|
||||
static
|
||||
int process_thread_map_event(struct perf_session *session,
|
||||
int process_thread_map_event(const struct perf_tool *tool,
|
||||
struct perf_session *session __maybe_unused,
|
||||
union perf_event *event)
|
||||
{
|
||||
const struct perf_tool *tool = session->tool;
|
||||
struct perf_script *script = container_of(tool, struct perf_script, tool);
|
||||
|
||||
if (dump_trace)
|
||||
|
|
@ -3615,10 +3619,10 @@ int process_thread_map_event(struct perf_session *session,
|
|||
}
|
||||
|
||||
static
|
||||
int process_cpu_map_event(struct perf_session *session,
|
||||
int process_cpu_map_event(const struct perf_tool *tool,
|
||||
struct perf_session *session __maybe_unused,
|
||||
union perf_event *event)
|
||||
{
|
||||
const struct perf_tool *tool = session->tool;
|
||||
struct perf_script *script = container_of(tool, struct perf_script, tool);
|
||||
|
||||
if (dump_trace)
|
||||
|
|
@ -3636,7 +3640,8 @@ int process_cpu_map_event(struct perf_session *session,
|
|||
return set_maps(script);
|
||||
}
|
||||
|
||||
static int process_feature_event(struct perf_session *session,
|
||||
static int process_feature_event(const struct perf_tool *tool __maybe_unused,
|
||||
struct perf_session *session,
|
||||
union perf_event *event)
|
||||
{
|
||||
if (event->feat.feat_id < HEADER_LAST_FEATURE)
|
||||
|
|
@ -3645,13 +3650,13 @@ static int process_feature_event(struct perf_session *session,
|
|||
}
|
||||
|
||||
#ifdef HAVE_AUXTRACE_SUPPORT
|
||||
static int perf_script__process_auxtrace_info(struct perf_session *session,
|
||||
static int perf_script__process_auxtrace_info(const struct perf_tool *tool,
|
||||
struct perf_session *session,
|
||||
union perf_event *event)
|
||||
{
|
||||
int ret = perf_event__process_auxtrace_info(session, event);
|
||||
int ret = perf_event__process_auxtrace_info(tool, session, event);
|
||||
|
||||
if (ret == 0) {
|
||||
const struct perf_tool *tool = session->tool;
|
||||
struct perf_script *script = container_of(tool, struct perf_script, tool);
|
||||
|
||||
ret = perf_script__setup_per_event_dump(script);
|
||||
|
|
|
|||
|
|
@ -2197,7 +2197,8 @@ static int __cmd_record(const struct option stat_options[], struct opt_aggr_mode
|
|||
return argc;
|
||||
}
|
||||
|
||||
static int process_stat_round_event(struct perf_session *session,
|
||||
static int process_stat_round_event(const struct perf_tool *tool __maybe_unused,
|
||||
struct perf_session *session,
|
||||
union perf_event *event)
|
||||
{
|
||||
struct perf_record_stat_round *stat_round = &event->stat_round;
|
||||
|
|
@ -2222,10 +2223,10 @@ static int process_stat_round_event(struct perf_session *session,
|
|||
}
|
||||
|
||||
static
|
||||
int process_stat_config_event(struct perf_session *session,
|
||||
int process_stat_config_event(const struct perf_tool *tool,
|
||||
struct perf_session *session,
|
||||
union perf_event *event)
|
||||
{
|
||||
const struct perf_tool *tool = session->tool;
|
||||
struct perf_stat *st = container_of(tool, struct perf_stat, tool);
|
||||
|
||||
perf_event__read_stat_config(&stat_config, &event->stat_config);
|
||||
|
|
@ -2271,10 +2272,10 @@ static int set_maps(struct perf_stat *st)
|
|||
}
|
||||
|
||||
static
|
||||
int process_thread_map_event(struct perf_session *session,
|
||||
int process_thread_map_event(const struct perf_tool *tool,
|
||||
struct perf_session *session __maybe_unused,
|
||||
union perf_event *event)
|
||||
{
|
||||
const struct perf_tool *tool = session->tool;
|
||||
struct perf_stat *st = container_of(tool, struct perf_stat, tool);
|
||||
|
||||
if (st->threads) {
|
||||
|
|
@ -2290,10 +2291,10 @@ int process_thread_map_event(struct perf_session *session,
|
|||
}
|
||||
|
||||
static
|
||||
int process_cpu_map_event(struct perf_session *session,
|
||||
int process_cpu_map_event(const struct perf_tool *tool,
|
||||
struct perf_session *session __maybe_unused,
|
||||
union perf_event *event)
|
||||
{
|
||||
const struct perf_tool *tool = session->tool;
|
||||
struct perf_stat *st = container_of(tool, struct perf_stat, tool);
|
||||
struct perf_cpu_map *cpus;
|
||||
|
||||
|
|
|
|||
|
|
@ -1379,7 +1379,8 @@ static void unleader_auxtrace(struct perf_session *session)
|
|||
}
|
||||
}
|
||||
|
||||
int perf_event__process_auxtrace_info(struct perf_session *session,
|
||||
int perf_event__process_auxtrace_info(const struct perf_tool *tool __maybe_unused,
|
||||
struct perf_session *session,
|
||||
union perf_event *event)
|
||||
{
|
||||
enum auxtrace_type type = event->auxtrace_info.type;
|
||||
|
|
@ -1423,7 +1424,8 @@ int perf_event__process_auxtrace_info(struct perf_session *session,
|
|||
return 0;
|
||||
}
|
||||
|
||||
s64 perf_event__process_auxtrace(struct perf_session *session,
|
||||
s64 perf_event__process_auxtrace(const struct perf_tool *tool __maybe_unused,
|
||||
struct perf_session *session,
|
||||
union perf_event *event)
|
||||
{
|
||||
s64 err;
|
||||
|
|
@ -1820,7 +1822,8 @@ void events_stats__auxtrace_error_warn(const struct events_stats *stats)
|
|||
}
|
||||
}
|
||||
|
||||
int perf_event__process_auxtrace_error(struct perf_session *session,
|
||||
int perf_event__process_auxtrace_error(const struct perf_tool *tool __maybe_unused,
|
||||
struct perf_session *session,
|
||||
union perf_event *event)
|
||||
{
|
||||
if (auxtrace__dont_decode(session))
|
||||
|
|
|
|||
|
|
@ -615,11 +615,14 @@ void auxtrace_synth_error(struct perf_record_auxtrace_error *auxtrace_error, int
|
|||
int code, int cpu, pid_t pid, pid_t tid, u64 ip,
|
||||
const char *msg, u64 timestamp);
|
||||
|
||||
int perf_event__process_auxtrace_info(struct perf_session *session,
|
||||
int perf_event__process_auxtrace_info(const struct perf_tool *tool,
|
||||
struct perf_session *session,
|
||||
union perf_event *event);
|
||||
s64 perf_event__process_auxtrace(struct perf_session *session,
|
||||
s64 perf_event__process_auxtrace(const struct perf_tool *tool,
|
||||
struct perf_session *session,
|
||||
union perf_event *event);
|
||||
int perf_event__process_auxtrace_error(struct perf_session *session,
|
||||
int perf_event__process_auxtrace_error(const struct perf_tool *tool,
|
||||
struct perf_session *session,
|
||||
union perf_event *event);
|
||||
int itrace_do_parse_synth_opts(struct itrace_synth_opts *synth_opts,
|
||||
const char *str, int unset);
|
||||
|
|
@ -728,21 +731,24 @@ int auxtrace_record__options(struct auxtrace_record *itr __maybe_unused,
|
|||
}
|
||||
|
||||
static inline
|
||||
int perf_event__process_auxtrace_info(struct perf_session *session __maybe_unused,
|
||||
int perf_event__process_auxtrace_info(const struct perf_tool *tool __maybe_unused,
|
||||
struct perf_session *session __maybe_unused,
|
||||
union perf_event *event __maybe_unused)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline
|
||||
s64 perf_event__process_auxtrace(struct perf_session *session __maybe_unused,
|
||||
s64 perf_event__process_auxtrace(const struct perf_tool *tool __maybe_unused,
|
||||
struct perf_session *session __maybe_unused,
|
||||
union perf_event *event __maybe_unused)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline
|
||||
int perf_event__process_auxtrace_error(struct perf_session *session __maybe_unused,
|
||||
int perf_event__process_auxtrace_error(const struct perf_tool *tool __maybe_unused,
|
||||
struct perf_session *session __maybe_unused,
|
||||
union perf_event *event __maybe_unused)
|
||||
{
|
||||
return 0;
|
||||
|
|
|
|||
|
|
@ -4540,7 +4540,8 @@ int perf_event__process_event_update(const struct perf_tool *tool __maybe_unused
|
|||
}
|
||||
|
||||
#ifdef HAVE_LIBTRACEEVENT
|
||||
int perf_event__process_tracing_data(struct perf_session *session,
|
||||
int perf_event__process_tracing_data(const struct perf_tool *tool __maybe_unused,
|
||||
struct perf_session *session,
|
||||
union perf_event *event)
|
||||
{
|
||||
ssize_t size_read, padding, size = event->tracing_data.size;
|
||||
|
|
@ -4588,7 +4589,8 @@ int perf_event__process_tracing_data(struct perf_session *session,
|
|||
}
|
||||
#endif
|
||||
|
||||
int perf_event__process_build_id(struct perf_session *session,
|
||||
int perf_event__process_build_id(const struct perf_tool *tool __maybe_unused,
|
||||
struct perf_session *session,
|
||||
union perf_event *event)
|
||||
{
|
||||
__event_process_build_id(&event->build_id,
|
||||
|
|
|
|||
|
|
@ -178,10 +178,12 @@ int perf_event__process_event_update(const struct perf_tool *tool,
|
|||
size_t perf_event__fprintf_attr(union perf_event *event, FILE *fp);
|
||||
size_t perf_event__fprintf_event_update(union perf_event *event, FILE *fp);
|
||||
#ifdef HAVE_LIBTRACEEVENT
|
||||
int perf_event__process_tracing_data(struct perf_session *session,
|
||||
int perf_event__process_tracing_data(const struct perf_tool *tool,
|
||||
struct perf_session *session,
|
||||
union perf_event *event);
|
||||
#endif
|
||||
int perf_event__process_build_id(struct perf_session *session,
|
||||
int perf_event__process_build_id(const struct perf_tool *tool,
|
||||
struct perf_session *session,
|
||||
union perf_event *event);
|
||||
bool is_perf_magic(u64 magic);
|
||||
|
||||
|
|
|
|||
|
|
@ -216,7 +216,8 @@ static int process_sample_event(const struct perf_tool *tool __maybe_unused,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int process_feature_event(struct perf_session *session,
|
||||
static int process_feature_event(const struct perf_tool *tool __maybe_unused,
|
||||
struct perf_session *session,
|
||||
union perf_event *event)
|
||||
{
|
||||
if (event->feat.feat_id < HEADER_LAST_FEATURE)
|
||||
|
|
|
|||
|
|
@ -1437,19 +1437,19 @@ static s64 perf_session__process_user_event(struct perf_session *session,
|
|||
*/
|
||||
if (!perf_data__is_pipe(session->data))
|
||||
lseek(fd, file_offset, SEEK_SET);
|
||||
err = tool->tracing_data(session, event);
|
||||
err = tool->tracing_data(tool, session, event);
|
||||
break;
|
||||
case PERF_RECORD_HEADER_BUILD_ID:
|
||||
err = tool->build_id(session, event);
|
||||
err = tool->build_id(tool, session, event);
|
||||
break;
|
||||
case PERF_RECORD_FINISHED_ROUND:
|
||||
err = tool->finished_round(tool, event, oe);
|
||||
break;
|
||||
case PERF_RECORD_ID_INDEX:
|
||||
err = tool->id_index(session, event);
|
||||
err = tool->id_index(tool, session, event);
|
||||
break;
|
||||
case PERF_RECORD_AUXTRACE_INFO:
|
||||
err = tool->auxtrace_info(session, event);
|
||||
err = tool->auxtrace_info(tool, session, event);
|
||||
break;
|
||||
case PERF_RECORD_AUXTRACE:
|
||||
/*
|
||||
|
|
@ -1459,45 +1459,45 @@ static s64 perf_session__process_user_event(struct perf_session *session,
|
|||
*/
|
||||
if (!perf_data__is_pipe(session->data))
|
||||
lseek(fd, file_offset + event->header.size, SEEK_SET);
|
||||
err = tool->auxtrace(session, event);
|
||||
err = tool->auxtrace(tool, session, event);
|
||||
break;
|
||||
case PERF_RECORD_AUXTRACE_ERROR:
|
||||
perf_session__auxtrace_error_inc(session, event);
|
||||
err = tool->auxtrace_error(session, event);
|
||||
err = tool->auxtrace_error(tool, session, event);
|
||||
break;
|
||||
case PERF_RECORD_THREAD_MAP:
|
||||
err = tool->thread_map(session, event);
|
||||
err = tool->thread_map(tool, session, event);
|
||||
break;
|
||||
case PERF_RECORD_CPU_MAP:
|
||||
err = tool->cpu_map(session, event);
|
||||
err = tool->cpu_map(tool, session, event);
|
||||
break;
|
||||
case PERF_RECORD_STAT_CONFIG:
|
||||
err = tool->stat_config(session, event);
|
||||
err = tool->stat_config(tool, session, event);
|
||||
break;
|
||||
case PERF_RECORD_STAT:
|
||||
err = tool->stat(session, event);
|
||||
err = tool->stat(tool, session, event);
|
||||
break;
|
||||
case PERF_RECORD_STAT_ROUND:
|
||||
err = tool->stat_round(session, event);
|
||||
err = tool->stat_round(tool, session, event);
|
||||
break;
|
||||
case PERF_RECORD_TIME_CONV:
|
||||
session->time_conv = event->time_conv;
|
||||
err = tool->time_conv(session, event);
|
||||
err = tool->time_conv(tool, session, event);
|
||||
break;
|
||||
case PERF_RECORD_HEADER_FEATURE:
|
||||
err = tool->feature(session, event);
|
||||
err = tool->feature(tool, session, event);
|
||||
break;
|
||||
case PERF_RECORD_COMPRESSED:
|
||||
case PERF_RECORD_COMPRESSED2:
|
||||
err = tool->compressed(session, event, file_offset, file_path);
|
||||
err = tool->compressed(tool, session, event, file_offset, file_path);
|
||||
if (err)
|
||||
dump_event(session->evlist, event, file_offset, &sample, file_path);
|
||||
break;
|
||||
case PERF_RECORD_FINISHED_INIT:
|
||||
err = tool->finished_init(session, event);
|
||||
err = tool->finished_init(tool, session, event);
|
||||
break;
|
||||
case PERF_RECORD_BPF_METADATA:
|
||||
err = tool->bpf_metadata(session, event);
|
||||
err = tool->bpf_metadata(tool, session, event);
|
||||
break;
|
||||
default:
|
||||
err = -EINVAL;
|
||||
|
|
@ -2647,7 +2647,8 @@ static int perf_session__set_guest_cpu(struct perf_session *session, pid_t pid,
|
|||
return 0;
|
||||
}
|
||||
|
||||
int perf_event__process_id_index(struct perf_session *session,
|
||||
int perf_event__process_id_index(const struct perf_tool *tool __maybe_unused,
|
||||
struct perf_session *session,
|
||||
union perf_event *event)
|
||||
{
|
||||
struct evlist *evlist = session->evlist;
|
||||
|
|
|
|||
|
|
@ -202,7 +202,8 @@ int perf_session__deliver_synth_attr_event(struct perf_session *session,
|
|||
|
||||
int perf_session__dsos_hit_all(struct perf_session *session);
|
||||
|
||||
int perf_event__process_id_index(struct perf_session *session,
|
||||
int perf_event__process_id_index(const struct perf_tool *tool,
|
||||
struct perf_session *session,
|
||||
union perf_event *event);
|
||||
|
||||
int perf_event__process_finished_round(const struct perf_tool *tool,
|
||||
|
|
|
|||
|
|
@ -645,7 +645,8 @@ void perf_stat_process_percore(struct perf_stat_config *config, struct evlist *e
|
|||
evsel__process_percore(evsel);
|
||||
}
|
||||
|
||||
int perf_event__process_stat_event(struct perf_session *session,
|
||||
int perf_event__process_stat_event(const struct perf_tool *tool __maybe_unused,
|
||||
struct perf_session *session,
|
||||
union perf_event *event)
|
||||
{
|
||||
struct perf_counts_values count, *ptr;
|
||||
|
|
|
|||
|
|
@ -216,7 +216,8 @@ union perf_event;
|
|||
struct perf_session;
|
||||
struct target;
|
||||
|
||||
int perf_event__process_stat_event(struct perf_session *session,
|
||||
int perf_event__process_stat_event(const struct perf_tool *tool,
|
||||
struct perf_session *session,
|
||||
union perf_event *event);
|
||||
|
||||
size_t perf_event__fprintf_stat(union perf_event *event, FILE *fp);
|
||||
|
|
|
|||
|
|
@ -13,7 +13,8 @@
|
|||
#include <unistd.h>
|
||||
|
||||
#ifdef HAVE_ZSTD_SUPPORT
|
||||
static int perf_session__process_compressed_event(struct perf_session *session,
|
||||
static int perf_session__process_compressed_event(const struct perf_tool *tool __maybe_unused,
|
||||
struct perf_session *session,
|
||||
union perf_event *event, u64 file_offset,
|
||||
const char *file_path)
|
||||
{
|
||||
|
|
@ -79,10 +80,9 @@ static int perf_session__process_compressed_event(struct perf_session *session,
|
|||
}
|
||||
#endif
|
||||
|
||||
static int process_event_synth_tracing_data_stub(struct perf_session *session
|
||||
__maybe_unused,
|
||||
union perf_event *event
|
||||
__maybe_unused)
|
||||
static int process_event_synth_tracing_data_stub(const struct perf_tool *tool __maybe_unused,
|
||||
struct perf_session *session __maybe_unused,
|
||||
union perf_event *event __maybe_unused)
|
||||
{
|
||||
dump_printf(": unhandled!\n");
|
||||
return 0;
|
||||
|
|
@ -90,8 +90,7 @@ static int process_event_synth_tracing_data_stub(struct perf_session *session
|
|||
|
||||
static int process_event_synth_attr_stub(const struct perf_tool *tool __maybe_unused,
|
||||
union perf_event *event __maybe_unused,
|
||||
struct evlist **pevlist
|
||||
__maybe_unused)
|
||||
struct evlist **pevlist __maybe_unused)
|
||||
{
|
||||
dump_printf(": unhandled!\n");
|
||||
return 0;
|
||||
|
|
@ -99,8 +98,7 @@ static int process_event_synth_attr_stub(const struct perf_tool *tool __maybe_un
|
|||
|
||||
static int process_event_synth_event_update_stub(const struct perf_tool *tool __maybe_unused,
|
||||
union perf_event *event __maybe_unused,
|
||||
struct evlist **pevlist
|
||||
__maybe_unused)
|
||||
struct evlist **pevlist __maybe_unused)
|
||||
{
|
||||
if (dump_trace)
|
||||
perf_event__fprintf_event_update(event, stdout);
|
||||
|
|
@ -151,7 +149,8 @@ static int skipn(int fd, off_t n)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static s64 process_event_auxtrace_stub(struct perf_session *session __maybe_unused,
|
||||
static s64 process_event_auxtrace_stub(const struct perf_tool *tool __maybe_unused,
|
||||
struct perf_session *session __maybe_unused,
|
||||
union perf_event *event)
|
||||
{
|
||||
dump_printf(": unhandled!\n");
|
||||
|
|
@ -160,7 +159,8 @@ static s64 process_event_auxtrace_stub(struct perf_session *session __maybe_unus
|
|||
return event->auxtrace.size;
|
||||
}
|
||||
|
||||
static int process_event_op2_stub(struct perf_session *session __maybe_unused,
|
||||
static int process_event_op2_stub(const struct perf_tool *tool __maybe_unused,
|
||||
struct perf_session *session __maybe_unused,
|
||||
union perf_event *event __maybe_unused)
|
||||
{
|
||||
dump_printf(": unhandled!\n");
|
||||
|
|
@ -169,7 +169,8 @@ static int process_event_op2_stub(struct perf_session *session __maybe_unused,
|
|||
|
||||
|
||||
static
|
||||
int process_event_thread_map_stub(struct perf_session *session __maybe_unused,
|
||||
int process_event_thread_map_stub(const struct perf_tool *tool __maybe_unused,
|
||||
struct perf_session *session __maybe_unused,
|
||||
union perf_event *event __maybe_unused)
|
||||
{
|
||||
if (dump_trace)
|
||||
|
|
@ -180,7 +181,8 @@ int process_event_thread_map_stub(struct perf_session *session __maybe_unused,
|
|||
}
|
||||
|
||||
static
|
||||
int process_event_cpu_map_stub(struct perf_session *session __maybe_unused,
|
||||
int process_event_cpu_map_stub(const struct perf_tool *tool __maybe_unused,
|
||||
struct perf_session *session __maybe_unused,
|
||||
union perf_event *event __maybe_unused)
|
||||
{
|
||||
if (dump_trace)
|
||||
|
|
@ -191,7 +193,8 @@ int process_event_cpu_map_stub(struct perf_session *session __maybe_unused,
|
|||
}
|
||||
|
||||
static
|
||||
int process_event_stat_config_stub(struct perf_session *session __maybe_unused,
|
||||
int process_event_stat_config_stub(const struct perf_tool *tool __maybe_unused,
|
||||
struct perf_session *session __maybe_unused,
|
||||
union perf_event *event __maybe_unused)
|
||||
{
|
||||
if (dump_trace)
|
||||
|
|
@ -201,7 +204,8 @@ int process_event_stat_config_stub(struct perf_session *session __maybe_unused,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int process_stat_stub(struct perf_session *perf_session __maybe_unused,
|
||||
static int process_stat_stub(const struct perf_tool *tool __maybe_unused,
|
||||
struct perf_session *perf_session __maybe_unused,
|
||||
union perf_event *event)
|
||||
{
|
||||
if (dump_trace)
|
||||
|
|
@ -211,7 +215,8 @@ static int process_stat_stub(struct perf_session *perf_session __maybe_unused,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int process_stat_round_stub(struct perf_session *perf_session __maybe_unused,
|
||||
static int process_stat_round_stub(const struct perf_tool *tool __maybe_unused,
|
||||
struct perf_session *perf_session __maybe_unused,
|
||||
union perf_event *event)
|
||||
{
|
||||
if (dump_trace)
|
||||
|
|
@ -221,7 +226,8 @@ static int process_stat_round_stub(struct perf_session *perf_session __maybe_unu
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int process_event_time_conv_stub(struct perf_session *perf_session __maybe_unused,
|
||||
static int process_event_time_conv_stub(const struct perf_tool *tool __maybe_unused,
|
||||
struct perf_session *perf_session __maybe_unused,
|
||||
union perf_event *event)
|
||||
{
|
||||
if (dump_trace)
|
||||
|
|
@ -231,7 +237,8 @@ static int process_event_time_conv_stub(struct perf_session *perf_session __mayb
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int perf_session__process_compressed_event_stub(struct perf_session *session __maybe_unused,
|
||||
static int perf_session__process_compressed_event_stub(const struct perf_tool *tool __maybe_unused,
|
||||
struct perf_session *session __maybe_unused,
|
||||
union perf_event *event __maybe_unused,
|
||||
u64 file_offset __maybe_unused,
|
||||
const char *file_path __maybe_unused)
|
||||
|
|
@ -240,7 +247,8 @@ static int perf_session__process_compressed_event_stub(struct perf_session *sess
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int perf_event__process_bpf_metadata_stub(struct perf_session *perf_session __maybe_unused,
|
||||
static int perf_event__process_bpf_metadata_stub(const struct perf_tool *tool __maybe_unused,
|
||||
struct perf_session *perf_session __maybe_unused,
|
||||
union perf_event *event)
|
||||
{
|
||||
if (dump_trace)
|
||||
|
|
|
|||
|
|
@ -26,10 +26,12 @@ typedef int (*event_attr_op)(const struct perf_tool *tool,
|
|||
union perf_event *event,
|
||||
struct evlist **pevlist);
|
||||
|
||||
typedef int (*event_op2)(struct perf_session *session, union perf_event *event);
|
||||
typedef s64 (*event_op3)(struct perf_session *session, union perf_event *event);
|
||||
typedef int (*event_op4)(struct perf_session *session, union perf_event *event, u64 data,
|
||||
const char *str);
|
||||
typedef int (*event_op2)(const struct perf_tool *tool, struct perf_session *session,
|
||||
union perf_event *event);
|
||||
typedef s64 (*event_op3)(const struct perf_tool *tool, struct perf_session *session,
|
||||
union perf_event *event);
|
||||
typedef int (*event_op4)(const struct perf_tool *tool, struct perf_session *session,
|
||||
union perf_event *event, u64 data, const char *str);
|
||||
|
||||
typedef int (*event_oe)(const struct perf_tool *tool, union perf_event *event,
|
||||
struct ordered_events *oe);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue