perf tools: Remove perf_tool from event_op2
authorJiri Olsa <jolsa@kernel.org>
Thu, 13 Sep 2018 12:54:03 +0000 (14:54 +0200)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Wed, 19 Sep 2018 13:25:10 +0000 (10:25 -0300)
Now that we keep a perf_tool pointer inside perf_session, there's no
need to have a perf_tool argument in the event_op2 callback. Remove it.

Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Alexey Budankov <alexey.budankov@linux.intel.com>
Cc: Andi Kleen <andi@firstfloor.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/20180913125450.21342-2-jolsa@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
14 files changed:
tools/perf/builtin-annotate.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/session.c
tools/perf/util/session.h
tools/perf/util/stat.c
tools/perf/util/stat.h
tools/perf/util/tool.h

index 830481b8db26ae379d7e9816c130bdb49be04bd7..93d679eaf1f485b1d8c0a0a74137e20136d47a99 100644 (file)
@@ -283,12 +283,11 @@ out_put:
        return ret;
 }
 
-static int process_feature_event(struct perf_tool *tool,
-                                union perf_event *event,
-                                struct perf_session *session)
+static int process_feature_event(struct perf_session *session,
+                                union perf_event *event)
 {
        if (event->feat.feat_id < HEADER_LAST_FEATURE)
-               return perf_event__process_feature(tool, event, session);
+               return perf_event__process_feature(session, event);
        return 0;
 }
 
index a3b346359ba00c406735d2fb7687bbc02b9db7fb..d77ed2aea95a0894cda55318d9cb9b6544a4b008 100644 (file)
@@ -86,12 +86,10 @@ static int perf_event__drop_oe(struct perf_tool *tool __maybe_unused,
 }
 #endif
 
-static int perf_event__repipe_op2_synth(struct perf_tool *tool,
-                                       union perf_event *event,
-                                       struct perf_session *session
-                                       __maybe_unused)
+static int perf_event__repipe_op2_synth(struct perf_session *session,
+                                       union perf_event *event)
 {
-       return perf_event__repipe_synth(tool, event);
+       return perf_event__repipe_synth(session->tool, event);
 }
 
 static int perf_event__repipe_attr(struct perf_tool *tool,
@@ -362,26 +360,24 @@ static int perf_event__repipe_exit(struct perf_tool *tool,
        return err;
 }
 
-static int perf_event__repipe_tracing_data(struct perf_tool *tool,
-                                          union perf_event *event,
-                                          struct perf_session *session)
+static int perf_event__repipe_tracing_data(struct perf_session *session,
+                                          union perf_event *event)
 {
        int err;
 
-       perf_event__repipe_synth(tool, event);
-       err = perf_event__process_tracing_data(tool, event, session);
+       perf_event__repipe_synth(session->tool, event);
+       err = perf_event__process_tracing_data(session, event);
 
        return err;
 }
 
-static int perf_event__repipe_id_index(struct perf_tool *tool,
-                                      union perf_event *event,
-                                      struct perf_session *session)
+static int perf_event__repipe_id_index(struct perf_session *session,
+                                      union perf_event *event)
 {
        int err;
 
-       perf_event__repipe_synth(tool, event);
-       err = perf_event__process_id_index(tool, event, session);
+       perf_event__repipe_synth(session->tool, event);
+       err = perf_event__process_id_index(session, event);
 
        return err;
 }
index 76e12bcd17654a3185fdeeb88ab9a56b7e10c6ee..7507e4d6dce1a65cdc90cb9bf37fce9472efe3e1 100644 (file)
@@ -201,14 +201,13 @@ static void setup_forced_leader(struct report *report,
                perf_evlist__force_leader(evlist);
 }
 
-static int process_feature_event(struct perf_tool *tool,
-                                union perf_event *event,
-                                struct perf_session *session __maybe_unused)
+static int process_feature_event(struct perf_session *session,
+                                union perf_event *event)
 {
-       struct report *rep = container_of(tool, struct report, tool);
+       struct report *rep = container_of(session->tool, struct report, tool);
 
        if (event->feat.feat_id < HEADER_LAST_FEATURE)
-               return perf_event__process_feature(tool, event, session);
+               return perf_event__process_feature(session, event);
 
        if (event->feat.feat_id != HEADER_LAST_FEATURE) {
                pr_err("failed: wrong feature ID: %" PRIu64 "\n",
index 6176bae177c233686f24c927abeaebde4754f43f..765391b6c88ce56be51bc9d1fb99de4cd16fbaf8 100644 (file)
@@ -2965,9 +2965,8 @@ static void script__setup_sample_type(struct perf_script *script)
        }
 }
 
-static int process_stat_round_event(struct perf_tool *tool __maybe_unused,
-                                   union perf_event *event,
-                                   struct perf_session *session)
+static int process_stat_round_event(struct perf_session *session,
+                                   union perf_event *event)
 {
        struct stat_round_event *round = &event->stat_round;
        struct perf_evsel *counter;
@@ -2981,9 +2980,8 @@ static int process_stat_round_event(struct perf_tool *tool __maybe_unused,
        return 0;
 }
 
-static int process_stat_config_event(struct perf_tool *tool __maybe_unused,
-                                    union perf_event *event,
-                                    struct perf_session *session __maybe_unused)
+static int process_stat_config_event(struct perf_session *session __maybe_unused,
+                                    union perf_event *event)
 {
        perf_event__read_stat_config(&stat_config, &event->stat_config);
        return 0;
@@ -3009,10 +3007,10 @@ static int set_maps(struct perf_script *script)
 }
 
 static
-int process_thread_map_event(struct perf_tool *tool,
-                            union perf_event *event,
-                            struct perf_session *session __maybe_unused)
+int process_thread_map_event(struct perf_session *session,
+                            union perf_event *event)
 {
+       struct perf_tool *tool = session->tool;
        struct perf_script *script = container_of(tool, struct perf_script, tool);
 
        if (script->threads) {
@@ -3028,10 +3026,10 @@ int process_thread_map_event(struct perf_tool *tool,
 }
 
 static
-int process_cpu_map_event(struct perf_tool *tool __maybe_unused,
-                         union perf_event *event,
-                         struct perf_session *session __maybe_unused)
+int process_cpu_map_event(struct perf_session *session,
+                         union perf_event *event)
 {
+       struct perf_tool *tool = session->tool;
        struct perf_script *script = container_of(tool, struct perf_script, tool);
 
        if (script->cpus) {
@@ -3046,21 +3044,21 @@ int process_cpu_map_event(struct perf_tool *tool __maybe_unused,
        return set_maps(script);
 }
 
-static int process_feature_event(struct perf_tool *tool,
-                                union perf_event *event,
-                                struct perf_session *session)
+static int process_feature_event(struct perf_session *session,
+                                union perf_event *event)
 {
        if (event->feat.feat_id < HEADER_LAST_FEATURE)
-               return perf_event__process_feature(tool, event, session);
+               return perf_event__process_feature(session, event);
        return 0;
 }
 
 #ifdef HAVE_AUXTRACE_SUPPORT
-static int perf_script__process_auxtrace_info(struct perf_tool *tool,
-                                             union perf_event *event,
-                                             struct perf_session *session)
+static int perf_script__process_auxtrace_info(struct perf_session *session,
+                                             union perf_event *event)
 {
-       int ret = perf_event__process_auxtrace_info(tool, event, session);
+       struct perf_tool *tool = session->tool;
+
+       int ret = perf_event__process_auxtrace_info(session, event);
 
        if (ret == 0) {
                struct perf_script *script = container_of(tool, struct perf_script, tool);
index 0b0e3961d511a60903a6c57f3d3ea4b4183c0b3e..b86aba1c8028f0fae6043cefdc96e61adbbafe30 100644 (file)
@@ -1354,9 +1354,8 @@ static int __cmd_record(int argc, const char **argv)
        return argc;
 }
 
-static int process_stat_round_event(struct perf_tool *tool __maybe_unused,
-                                   union perf_event *event,
-                                   struct perf_session *session)
+static int process_stat_round_event(struct perf_session *session,
+                                   union perf_event *event)
 {
        struct stat_round_event *stat_round = &event->stat_round;
        struct perf_evsel *counter;
@@ -1381,10 +1380,10 @@ static int process_stat_round_event(struct perf_tool *tool __maybe_unused,
 }
 
 static
-int process_stat_config_event(struct perf_tool *tool,
-                             union perf_event *event,
-                             struct perf_session *session __maybe_unused)
+int process_stat_config_event(struct perf_session *session,
+                             union perf_event *event)
 {
+       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);
@@ -1424,10 +1423,10 @@ static int set_maps(struct perf_stat *st)
 }
 
 static
-int process_thread_map_event(struct perf_tool *tool,
-                            union perf_event *event,
-                            struct perf_session *session __maybe_unused)
+int process_thread_map_event(struct perf_session *session,
+                            union perf_event *event)
 {
+       struct perf_tool *tool = session->tool;
        struct perf_stat *st = container_of(tool, struct perf_stat, tool);
 
        if (st->threads) {
@@ -1443,10 +1442,10 @@ int process_thread_map_event(struct perf_tool *tool,
 }
 
 static
-int process_cpu_map_event(struct perf_tool *tool,
-                         union perf_event *event,
-                         struct perf_session *session __maybe_unused)
+int process_cpu_map_event(struct perf_session *session,
+                         union perf_event *event)
 {
+       struct perf_tool *tool = session->tool;
        struct perf_stat *st = container_of(tool, struct perf_stat, tool);
        struct cpu_map *cpus;
 
index db1511359c5e66b1040e42499cfc25df6677b026..86f0bc445f9386b6b95826d0854b83ede1c0b927 100644 (file)
@@ -906,9 +906,8 @@ out_free:
        return err;
 }
 
-int perf_event__process_auxtrace_info(struct perf_tool *tool __maybe_unused,
-                                     union perf_event *event,
-                                     struct perf_session *session)
+int perf_event__process_auxtrace_info(struct perf_session *session,
+                                     union perf_event *event)
 {
        enum auxtrace_type type = event->auxtrace_info.type;
 
@@ -1185,9 +1184,8 @@ void events_stats__auxtrace_error_warn(const struct events_stats *stats)
        }
 }
 
-int perf_event__process_auxtrace_error(struct perf_tool *tool __maybe_unused,
-                                      union perf_event *event,
-                                      struct perf_session *session)
+int perf_event__process_auxtrace_error(struct perf_session *session,
+                                      union perf_event *event)
 {
        if (auxtrace__dont_decode(session))
                return 0;
index 71fc3bd742997b4bcbab07f72d88da869d8e089b..97776470a52ed57dd8b25d15d235f389b082b3d3 100644 (file)
@@ -517,15 +517,13 @@ int perf_event__synthesize_auxtrace_info(struct auxtrace_record *itr,
                                         struct perf_tool *tool,
                                         struct perf_session *session,
                                         perf_event__handler_t process);
-int perf_event__process_auxtrace_info(struct perf_tool *tool,
-                                     union perf_event *event,
-                                     struct perf_session *session);
+int perf_event__process_auxtrace_info(struct perf_session *session,
+                                     union perf_event *event);
 s64 perf_event__process_auxtrace(struct perf_tool *tool,
                                 union perf_event *event,
                                 struct perf_session *session);
-int perf_event__process_auxtrace_error(struct perf_tool *tool,
-                                      union perf_event *event,
-                                      struct perf_session *session);
+int perf_event__process_auxtrace_error(struct perf_session *session,
+                                      union perf_event *event);
 int itrace_parse_synth_opts(const struct option *opt, const char *str,
                            int unset);
 void itrace_synth_opts__set_default(struct itrace_synth_opts *synth_opts);
index 91e6d9cfd9063df3e546b2ae7cbf71ca130c31c6..c78051ad1fcc60aeb9a11b212eb4dc19de0c70c4 100644 (file)
@@ -3448,10 +3448,10 @@ int perf_event__synthesize_features(struct perf_tool *tool,
        return ret;
 }
 
-int perf_event__process_feature(struct perf_tool *tool,
-                               union perf_event *event,
-                               struct perf_session *session __maybe_unused)
+int perf_event__process_feature(struct perf_session *session,
+                               union perf_event *event)
 {
+       struct perf_tool *tool = session->tool;
        struct feat_fd ff = { .fd = 0 };
        struct feature_event *fe = (struct feature_event *)event;
        int type = fe->header.type;
@@ -3856,9 +3856,8 @@ int perf_event__synthesize_tracing_data(struct perf_tool *tool, int fd,
        return aligned_size;
 }
 
-int perf_event__process_tracing_data(struct perf_tool *tool __maybe_unused,
-                                    union perf_event *event,
-                                    struct perf_session *session)
+int perf_event__process_tracing_data(struct perf_session *session,
+                                    union perf_event *event)
 {
        ssize_t size_read, padding, size = event->tracing_data.size;
        int fd = perf_data__fd(session->data);
@@ -3924,9 +3923,8 @@ int perf_event__synthesize_build_id(struct perf_tool *tool,
        return err;
 }
 
-int perf_event__process_build_id(struct perf_tool *tool __maybe_unused,
-                                union perf_event *event,
-                                struct perf_session *session)
+int perf_event__process_build_id(struct perf_session *session,
+                                union perf_event *event)
 {
        __event_process_build_id(&event->build_id,
                                 event->build_id.filename,
index ff2a1263fb9ba8805adb462d32ea43683f475097..e17903caa71daba074fbaaf04252525beac2df11 100644 (file)
@@ -116,9 +116,8 @@ int perf_event__synthesize_extra_attr(struct perf_tool *tool,
                                      perf_event__handler_t process,
                                      bool is_pipe);
 
-int perf_event__process_feature(struct perf_tool *tool,
-                               union perf_event *event,
-                               struct perf_session *session);
+int perf_event__process_feature(struct perf_session *session,
+                               union perf_event *event);
 
 int perf_event__synthesize_attr(struct perf_tool *tool,
                                struct perf_event_attr *attr, u32 ids, u64 *id,
@@ -148,17 +147,15 @@ size_t perf_event__fprintf_event_update(union perf_event *event, FILE *fp);
 int perf_event__synthesize_tracing_data(struct perf_tool *tool,
                                        int fd, struct perf_evlist *evlist,
                                        perf_event__handler_t process);
-int perf_event__process_tracing_data(struct perf_tool *tool,
-                                    union perf_event *event,
-                                    struct perf_session *session);
+int perf_event__process_tracing_data(struct perf_session *session,
+                                    union perf_event *event);
 
 int perf_event__synthesize_build_id(struct perf_tool *tool,
                                    struct dso *pos, u16 misc,
                                    perf_event__handler_t process,
                                    struct machine *machine);
-int perf_event__process_build_id(struct perf_tool *tool,
-                                union perf_event *event,
-                                struct perf_session *session);
+int perf_event__process_build_id(struct perf_session *session,
+                                union perf_event *event);
 bool is_perf_magic(u64 magic);
 
 #define NAME_ALIGN 64
index 8b93693035610df0d427e158d35402c40851a903..e781cdba845c0106bf3bcdecd5cd7f3dbeb09059 100644 (file)
@@ -199,12 +199,10 @@ void perf_session__delete(struct perf_session *session)
        free(session);
 }
 
-static int process_event_synth_tracing_data_stub(struct perf_tool *tool
+static int process_event_synth_tracing_data_stub(struct perf_session *session
                                                 __maybe_unused,
                                                 union perf_event *event
-                                                __maybe_unused,
-                                                struct perf_session *session
-                                               __maybe_unused)
+                                                __maybe_unused)
 {
        dump_printf(": unhandled!\n");
        return 0;
@@ -288,9 +286,8 @@ static s64 process_event_auxtrace_stub(struct perf_tool *tool __maybe_unused,
        return event->auxtrace.size;
 }
 
-static int process_event_op2_stub(struct perf_tool *tool __maybe_unused,
-                                 union perf_event *event __maybe_unused,
-                                 struct perf_session *session __maybe_unused)
+static int process_event_op2_stub(struct perf_session *session __maybe_unused,
+                                 union perf_event *event __maybe_unused)
 {
        dump_printf(": unhandled!\n");
        return 0;
@@ -298,9 +295,8 @@ static int process_event_op2_stub(struct perf_tool *tool __maybe_unused,
 
 
 static
-int process_event_thread_map_stub(struct perf_tool *tool __maybe_unused,
-                                 union perf_event *event __maybe_unused,
-                                 struct perf_session *session __maybe_unused)
+int process_event_thread_map_stub(struct perf_session *session __maybe_unused,
+                                 union perf_event *event __maybe_unused)
 {
        if (dump_trace)
                perf_event__fprintf_thread_map(event, stdout);
@@ -310,9 +306,8 @@ int process_event_thread_map_stub(struct perf_tool *tool __maybe_unused,
 }
 
 static
-int process_event_cpu_map_stub(struct perf_tool *tool __maybe_unused,
-                              union perf_event *event __maybe_unused,
-                              struct perf_session *session __maybe_unused)
+int process_event_cpu_map_stub(struct perf_session *session __maybe_unused,
+                              union perf_event *event __maybe_unused)
 {
        if (dump_trace)
                perf_event__fprintf_cpu_map(event, stdout);
@@ -322,9 +317,8 @@ int process_event_cpu_map_stub(struct perf_tool *tool __maybe_unused,
 }
 
 static
-int process_event_stat_config_stub(struct perf_tool *tool __maybe_unused,
-                                  union perf_event *event __maybe_unused,
-                                  struct perf_session *session __maybe_unused)
+int process_event_stat_config_stub(struct perf_session *session __maybe_unused,
+                                  union perf_event *event __maybe_unused)
 {
        if (dump_trace)
                perf_event__fprintf_stat_config(event, stdout);
@@ -333,10 +327,8 @@ int process_event_stat_config_stub(struct perf_tool *tool __maybe_unused,
        return 0;
 }
 
-static int process_stat_stub(struct perf_tool *tool __maybe_unused,
-                            union perf_event *event __maybe_unused,
-                            struct perf_session *perf_session
-                            __maybe_unused)
+static int process_stat_stub(struct perf_session *perf_session __maybe_unused,
+                            union perf_event *event)
 {
        if (dump_trace)
                perf_event__fprintf_stat(event, stdout);
@@ -345,10 +337,8 @@ static int process_stat_stub(struct perf_tool *tool __maybe_unused,
        return 0;
 }
 
-static int process_stat_round_stub(struct perf_tool *tool __maybe_unused,
-                                  union perf_event *event __maybe_unused,
-                                  struct perf_session *perf_session
-                                  __maybe_unused)
+static int process_stat_round_stub(struct perf_session *perf_session __maybe_unused,
+                                  union perf_event *event)
 {
        if (dump_trace)
                perf_event__fprintf_stat_round(event, stdout);
@@ -1374,37 +1364,37 @@ static s64 perf_session__process_user_event(struct perf_session *session,
        case PERF_RECORD_HEADER_TRACING_DATA:
                /* setup for reading amidst mmap */
                lseek(fd, file_offset, SEEK_SET);
-               return tool->tracing_data(tool, event, session);
+               return tool->tracing_data(session, event);
        case PERF_RECORD_HEADER_BUILD_ID:
-               return tool->build_id(tool, event, session);
+               return tool->build_id(session, event);
        case PERF_RECORD_FINISHED_ROUND:
                return tool->finished_round(tool, event, oe);
        case PERF_RECORD_ID_INDEX:
-               return tool->id_index(tool, event, session);
+               return tool->id_index(session, event);
        case PERF_RECORD_AUXTRACE_INFO:
-               return tool->auxtrace_info(tool, event, session);
+               return tool->auxtrace_info(session, event);
        case PERF_RECORD_AUXTRACE:
                /* setup for reading amidst mmap */
                lseek(fd, file_offset + event->header.size, SEEK_SET);
                return tool->auxtrace(tool, event, session);
        case PERF_RECORD_AUXTRACE_ERROR:
                perf_session__auxtrace_error_inc(session, event);
-               return tool->auxtrace_error(tool, event, session);
+               return tool->auxtrace_error(session, event);
        case PERF_RECORD_THREAD_MAP:
-               return tool->thread_map(tool, event, session);
+               return tool->thread_map(session, event);
        case PERF_RECORD_CPU_MAP:
-               return tool->cpu_map(tool, event, session);
+               return tool->cpu_map(session, event);
        case PERF_RECORD_STAT_CONFIG:
-               return tool->stat_config(tool, event, session);
+               return tool->stat_config(session, event);
        case PERF_RECORD_STAT:
-               return tool->stat(tool, event, session);
+               return tool->stat(session, event);
        case PERF_RECORD_STAT_ROUND:
-               return tool->stat_round(tool, event, session);
+               return tool->stat_round(session, event);
        case PERF_RECORD_TIME_CONV:
                session->time_conv = event->time_conv;
-               return tool->time_conv(tool, event, session);
+               return tool->time_conv(session, event);
        case PERF_RECORD_HEADER_FEATURE:
-               return tool->feature(tool, event, session);
+               return tool->feature(session, event);
        default:
                return -EINVAL;
        }
@@ -2133,9 +2123,8 @@ out:
        return err;
 }
 
-int perf_event__process_id_index(struct perf_tool *tool __maybe_unused,
-                                union perf_event *event,
-                                struct perf_session *session)
+int perf_event__process_id_index(struct perf_session *session,
+                                union perf_event *event)
 {
        struct perf_evlist *evlist = session->evlist;
        struct id_index_event *ie = &event->id_index;
index da40b4b380ca9c4cfa10516182e890c206210d92..d96eccd7d27fe46e4e378721a562f20160f49c22 100644 (file)
@@ -120,9 +120,8 @@ int perf_session__deliver_synth_event(struct perf_session *session,
                                      union perf_event *event,
                                      struct perf_sample *sample);
 
-int perf_event__process_id_index(struct perf_tool *tool,
-                                union perf_event *event,
-                                struct perf_session *session);
+int perf_event__process_id_index(struct perf_session *session,
+                                union perf_event *event);
 
 int perf_event__synthesize_id_index(struct perf_tool *tool,
                                    perf_event__handler_t process,
index 5d3172bcc4ae7057d9799d8e544186b075abd1ba..4d40515307b8024a4b438edfc8a7d1f2bfc97c9a 100644 (file)
@@ -374,9 +374,8 @@ int perf_stat_process_counter(struct perf_stat_config *config,
        return 0;
 }
 
-int perf_event__process_stat_event(struct perf_tool *tool __maybe_unused,
-                                  union perf_event *event,
-                                  struct perf_session *session)
+int perf_event__process_stat_event(struct perf_session *session,
+                                  union perf_event *event)
 {
        struct perf_counts_values count;
        struct stat_event *st = &event->stat;
index 3a13a6dc5a629b9b3be233ba087d22cd7080adaa..2f9c9159a364141a0d2215039c87f8133e0b9854 100644 (file)
@@ -199,9 +199,8 @@ int perf_stat_process_counter(struct perf_stat_config *config,
 struct perf_tool;
 union perf_event;
 struct perf_session;
-int perf_event__process_stat_event(struct perf_tool *tool,
-                                  union perf_event *event,
-                                  struct perf_session *session);
+int perf_event__process_stat_event(struct perf_session *session,
+                                  union perf_event *event);
 
 size_t perf_event__fprintf_stat(union perf_event *event, FILE *fp);
 size_t perf_event__fprintf_stat_round(union perf_event *event, FILE *fp);
index 183c9145352282203944e34cf6a0cb57eb0ba37e..9c7f78d76275356948a3804e5dc4b82a7fcf58bf 100644 (file)
@@ -26,8 +26,7 @@ typedef int (*event_attr_op)(struct perf_tool *tool,
                             union perf_event *event,
                             struct perf_evlist **pevlist);
 
-typedef int (*event_op2)(struct perf_tool *tool, union perf_event *event,
-                        struct perf_session *session);
+typedef int (*event_op2)(struct perf_session *session, union perf_event *event);
 
 typedef int (*event_oe)(struct perf_tool *tool, union perf_event *event,
                        struct ordered_events *oe);