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:
Ian Rogers 2025-11-07 09:07:11 -08:00 committed by Namhyung Kim
parent fa4a527af5
commit 71062e282d
17 changed files with 138 additions and 97 deletions

View file

@ -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)

View file

@ -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;

View file

@ -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);
}
/*

View file

@ -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);

View file

@ -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);

View file

@ -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;

View file

@ -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))

View file

@ -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;

View file

@ -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,

View file

@ -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);

View file

@ -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)

View file

@ -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;

View file

@ -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,

View file

@ -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;

View file

@ -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);

View file

@ -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)

View file

@ -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);