]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
perf tool: Add the perf_tool argument to all callbacks
authorIan Rogers <irogers@google.com>
Fri, 7 Nov 2025 17:07:11 +0000 (09:07 -0800)
committerNamhyung Kim <namhyung@kernel.org>
Fri, 7 Nov 2025 21:25:05 +0000 (13:25 -0800)
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>
17 files changed:
tools/perf/builtin-annotate.c
tools/perf/builtin-evlist.c
tools/perf/builtin-inject.c
tools/perf/builtin-report.c
tools/perf/builtin-script.c
tools/perf/builtin-stat.c
tools/perf/util/auxtrace.c
tools/perf/util/auxtrace.h
tools/perf/util/header.c
tools/perf/util/header.h
tools/perf/util/intel-tpebs.c
tools/perf/util/session.c
tools/perf/util/session.h
tools/perf/util/stat.c
tools/perf/util/stat.h
tools/perf/util/tool.c
tools/perf/util/tool.h

index 112b15952016d815e93faf9bb2b4b87a73f730fe..9c27bb30b70899ee035b88a08c08ab34f7511972 100644 (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)
index a9bd7bbef5a961f732546fa8fff893993334b938..fb6e2c3c24c8e7292c3773be52639c0c827890ae 100644 (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;
index a114b3fa1bea1d241a8f214be096dff90ed73388..044074080aa53abd8d7534bc1aa1fe1d0f26226f 100644 (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);
 }
 
 /*
index 35df04dad2fd08fec1f16bf19ce28429ffde1713..2bc269f5fcef8023e8264f0bba350b371db65dae 100644 (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);
index 8124fcb51da9c543b3dd77ed58802e5b992791a7..d813adbf9889545ca3014fae9923ec69235b376f 100644 (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);
index 886727ae8529b5f84a0765590de05c2b032e0efc..3c46b92a53ab69fe8a158880458ed2fd96502b2c 100644 (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;
 
index 35f4745f6b2bf09a7838bf1de99d37f09510c03b..a224687ffbc1b5bed5eae369ffe590e09ec231a2 100644 (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))
index ed3a1aaaf5d9df5c7f6ba523924d1a24d7dcf354..b320a387464d5824b591dcff21a1f0943e118c59 100644 (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;
index 4de7ca16b5522c47cb528f966b3fe3847bad7fd0..a2f808841b33abdb070d2476ae48dfd99bdda5a0 100644 (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,
index d16dfceccd7404874912408f28016d297067155a..c058021c3150b3d500d4f9beda2a0eb247d29dbb 100644 (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);
 
index 8c9aee157ec48dd0292bb40e959b879e76c44965..21359155f2a0bf5c0f1b6a1bff4d805f9f95c227 100644 (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)
index 09af486c83e4ff82e74f17f3da08d3bc3989768b..4b0236b2df2913e14ce6de2b9f5ea35d254c495e 100644 (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;
index cf88d65a25cb6313ef7a65e4b1a7ce775f52cc8e..22d3ff877e83ada8dc013cca7d5a810f825c8205 100644 (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,
index 101ed6c497bcaebf08bdf85dd5900a34c5a2b89c..976a06e632529ef00468549b62c0132a75df59aa 100644 (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;
index 34f30a295f8917d85cbdd02e5d253f7bb2f7364b..230474f49315188e92ab3cbfaa06a083574950ff 100644 (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);
index e83c7ababc2addd3cef5be12887a3faccc5500a7..c983b526b30d1b5540f52d60ecdef462b2535891 100644 (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)
index 18b76ff0f26acddce8fa1303ec966d408055d78d..1f14618083718f75d130e0164b8a96aab2fb23c4 100644 (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);