Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

perf tools: Remove perf_tool from event_op2

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>

authored by

Jiri Olsa and committed by
Arnaldo Carvalho de Melo
89f1688a e381d1c2

+103 -136
+3 -4
tools/perf/builtin-annotate.c
··· 283 283 return ret; 284 284 } 285 285 286 - static int process_feature_event(struct perf_tool *tool, 287 - union perf_event *event, 288 - struct perf_session *session) 286 + static int process_feature_event(struct perf_session *session, 287 + union perf_event *event) 289 288 { 290 289 if (event->feat.feat_id < HEADER_LAST_FEATURE) 291 - return perf_event__process_feature(tool, event, session); 290 + return perf_event__process_feature(session, event); 292 291 return 0; 293 292 } 294 293
+11 -15
tools/perf/builtin-inject.c
··· 86 86 } 87 87 #endif 88 88 89 - static int perf_event__repipe_op2_synth(struct perf_tool *tool, 90 - union perf_event *event, 91 - struct perf_session *session 92 - __maybe_unused) 89 + static int perf_event__repipe_op2_synth(struct perf_session *session, 90 + union perf_event *event) 93 91 { 94 - return perf_event__repipe_synth(tool, event); 92 + return perf_event__repipe_synth(session->tool, event); 95 93 } 96 94 97 95 static int perf_event__repipe_attr(struct perf_tool *tool, ··· 360 362 return err; 361 363 } 362 364 363 - static int perf_event__repipe_tracing_data(struct perf_tool *tool, 364 - union perf_event *event, 365 - struct perf_session *session) 365 + static int perf_event__repipe_tracing_data(struct perf_session *session, 366 + union perf_event *event) 366 367 { 367 368 int err; 368 369 369 - perf_event__repipe_synth(tool, event); 370 - err = perf_event__process_tracing_data(tool, event, session); 370 + perf_event__repipe_synth(session->tool, event); 371 + err = perf_event__process_tracing_data(session, event); 371 372 372 373 return err; 373 374 } 374 375 375 - static int perf_event__repipe_id_index(struct perf_tool *tool, 376 - union perf_event *event, 377 - struct perf_session *session) 376 + static int perf_event__repipe_id_index(struct perf_session *session, 377 + union perf_event *event) 378 378 { 379 379 int err; 380 380 381 - perf_event__repipe_synth(tool, event); 382 - err = perf_event__process_id_index(tool, event, session); 381 + perf_event__repipe_synth(session->tool, event); 382 + err = perf_event__process_id_index(session, event); 383 383 384 384 return err; 385 385 }
+4 -5
tools/perf/builtin-report.c
··· 201 201 perf_evlist__force_leader(evlist); 202 202 } 203 203 204 - static int process_feature_event(struct perf_tool *tool, 205 - union perf_event *event, 206 - struct perf_session *session __maybe_unused) 204 + static int process_feature_event(struct perf_session *session, 205 + union perf_event *event) 207 206 { 208 - struct report *rep = container_of(tool, struct report, tool); 207 + struct report *rep = container_of(session->tool, struct report, tool); 209 208 210 209 if (event->feat.feat_id < HEADER_LAST_FEATURE) 211 - return perf_event__process_feature(tool, event, session); 210 + return perf_event__process_feature(session, event); 212 211 213 212 if (event->feat.feat_id != HEADER_LAST_FEATURE) { 214 213 pr_err("failed: wrong feature ID: %" PRIu64 "\n",
+18 -20
tools/perf/builtin-script.c
··· 2965 2965 } 2966 2966 } 2967 2967 2968 - static int process_stat_round_event(struct perf_tool *tool __maybe_unused, 2969 - union perf_event *event, 2970 - struct perf_session *session) 2968 + static int process_stat_round_event(struct perf_session *session, 2969 + union perf_event *event) 2971 2970 { 2972 2971 struct stat_round_event *round = &event->stat_round; 2973 2972 struct perf_evsel *counter; ··· 2980 2981 return 0; 2981 2982 } 2982 2983 2983 - static int process_stat_config_event(struct perf_tool *tool __maybe_unused, 2984 - union perf_event *event, 2985 - struct perf_session *session __maybe_unused) 2984 + static int process_stat_config_event(struct perf_session *session __maybe_unused, 2985 + union perf_event *event) 2986 2986 { 2987 2987 perf_event__read_stat_config(&stat_config, &event->stat_config); 2988 2988 return 0; ··· 3007 3009 } 3008 3010 3009 3011 static 3010 - int process_thread_map_event(struct perf_tool *tool, 3011 - union perf_event *event, 3012 - struct perf_session *session __maybe_unused) 3012 + int process_thread_map_event(struct perf_session *session, 3013 + union perf_event *event) 3013 3014 { 3015 + struct perf_tool *tool = session->tool; 3014 3016 struct perf_script *script = container_of(tool, struct perf_script, tool); 3015 3017 3016 3018 if (script->threads) { ··· 3026 3028 } 3027 3029 3028 3030 static 3029 - int process_cpu_map_event(struct perf_tool *tool __maybe_unused, 3030 - union perf_event *event, 3031 - struct perf_session *session __maybe_unused) 3031 + int process_cpu_map_event(struct perf_session *session, 3032 + union perf_event *event) 3032 3033 { 3034 + struct perf_tool *tool = session->tool; 3033 3035 struct perf_script *script = container_of(tool, struct perf_script, tool); 3034 3036 3035 3037 if (script->cpus) { ··· 3044 3046 return set_maps(script); 3045 3047 } 3046 3048 3047 - static int process_feature_event(struct perf_tool *tool, 3048 - union perf_event *event, 3049 - struct perf_session *session) 3049 + static int process_feature_event(struct perf_session *session, 3050 + union perf_event *event) 3050 3051 { 3051 3052 if (event->feat.feat_id < HEADER_LAST_FEATURE) 3052 - return perf_event__process_feature(tool, event, session); 3053 + return perf_event__process_feature(session, event); 3053 3054 return 0; 3054 3055 } 3055 3056 3056 3057 #ifdef HAVE_AUXTRACE_SUPPORT 3057 - static int perf_script__process_auxtrace_info(struct perf_tool *tool, 3058 - union perf_event *event, 3059 - struct perf_session *session) 3058 + static int perf_script__process_auxtrace_info(struct perf_session *session, 3059 + union perf_event *event) 3060 3060 { 3061 - int ret = perf_event__process_auxtrace_info(tool, event, session); 3061 + struct perf_tool *tool = session->tool; 3062 + 3063 + int ret = perf_event__process_auxtrace_info(session, event); 3062 3064 3063 3065 if (ret == 0) { 3064 3066 struct perf_script *script = container_of(tool, struct perf_script, tool);
+11 -12
tools/perf/builtin-stat.c
··· 1354 1354 return argc; 1355 1355 } 1356 1356 1357 - static int process_stat_round_event(struct perf_tool *tool __maybe_unused, 1358 - union perf_event *event, 1359 - struct perf_session *session) 1357 + static int process_stat_round_event(struct perf_session *session, 1358 + union perf_event *event) 1360 1359 { 1361 1360 struct stat_round_event *stat_round = &event->stat_round; 1362 1361 struct perf_evsel *counter; ··· 1380 1381 } 1381 1382 1382 1383 static 1383 - int process_stat_config_event(struct perf_tool *tool, 1384 - union perf_event *event, 1385 - struct perf_session *session __maybe_unused) 1384 + int process_stat_config_event(struct perf_session *session, 1385 + union perf_event *event) 1386 1386 { 1387 + struct perf_tool *tool = session->tool; 1387 1388 struct perf_stat *st = container_of(tool, struct perf_stat, tool); 1388 1389 1389 1390 perf_event__read_stat_config(&stat_config, &event->stat_config); ··· 1423 1424 } 1424 1425 1425 1426 static 1426 - int process_thread_map_event(struct perf_tool *tool, 1427 - union perf_event *event, 1428 - struct perf_session *session __maybe_unused) 1427 + int process_thread_map_event(struct perf_session *session, 1428 + union perf_event *event) 1429 1429 { 1430 + struct perf_tool *tool = session->tool; 1430 1431 struct perf_stat *st = container_of(tool, struct perf_stat, tool); 1431 1432 1432 1433 if (st->threads) { ··· 1442 1443 } 1443 1444 1444 1445 static 1445 - int process_cpu_map_event(struct perf_tool *tool, 1446 - union perf_event *event, 1447 - struct perf_session *session __maybe_unused) 1446 + int process_cpu_map_event(struct perf_session *session, 1447 + union perf_event *event) 1448 1448 { 1449 + struct perf_tool *tool = session->tool; 1449 1450 struct perf_stat *st = container_of(tool, struct perf_stat, tool); 1450 1451 struct cpu_map *cpus; 1451 1452
+4 -6
tools/perf/util/auxtrace.c
··· 906 906 return err; 907 907 } 908 908 909 - int perf_event__process_auxtrace_info(struct perf_tool *tool __maybe_unused, 910 - union perf_event *event, 911 - struct perf_session *session) 909 + int perf_event__process_auxtrace_info(struct perf_session *session, 910 + union perf_event *event) 912 911 { 913 912 enum auxtrace_type type = event->auxtrace_info.type; 914 913 ··· 1184 1185 } 1185 1186 } 1186 1187 1187 - int perf_event__process_auxtrace_error(struct perf_tool *tool __maybe_unused, 1188 - union perf_event *event, 1189 - struct perf_session *session) 1188 + int perf_event__process_auxtrace_error(struct perf_session *session, 1189 + union perf_event *event) 1190 1190 { 1191 1191 if (auxtrace__dont_decode(session)) 1192 1192 return 0;
+4 -6
tools/perf/util/auxtrace.h
··· 517 517 struct perf_tool *tool, 518 518 struct perf_session *session, 519 519 perf_event__handler_t process); 520 - int perf_event__process_auxtrace_info(struct perf_tool *tool, 521 - union perf_event *event, 522 - struct perf_session *session); 520 + int perf_event__process_auxtrace_info(struct perf_session *session, 521 + union perf_event *event); 523 522 s64 perf_event__process_auxtrace(struct perf_tool *tool, 524 523 union perf_event *event, 525 524 struct perf_session *session); 526 - int perf_event__process_auxtrace_error(struct perf_tool *tool, 527 - union perf_event *event, 528 - struct perf_session *session); 525 + int perf_event__process_auxtrace_error(struct perf_session *session, 526 + union perf_event *event); 529 527 int itrace_parse_synth_opts(const struct option *opt, const char *str, 530 528 int unset); 531 529 void itrace_synth_opts__set_default(struct itrace_synth_opts *synth_opts);
+7 -9
tools/perf/util/header.c
··· 3448 3448 return ret; 3449 3449 } 3450 3450 3451 - int perf_event__process_feature(struct perf_tool *tool, 3452 - union perf_event *event, 3453 - struct perf_session *session __maybe_unused) 3451 + int perf_event__process_feature(struct perf_session *session, 3452 + union perf_event *event) 3454 3453 { 3454 + struct perf_tool *tool = session->tool; 3455 3455 struct feat_fd ff = { .fd = 0 }; 3456 3456 struct feature_event *fe = (struct feature_event *)event; 3457 3457 int type = fe->header.type; ··· 3856 3856 return aligned_size; 3857 3857 } 3858 3858 3859 - int perf_event__process_tracing_data(struct perf_tool *tool __maybe_unused, 3860 - union perf_event *event, 3861 - struct perf_session *session) 3859 + int perf_event__process_tracing_data(struct perf_session *session, 3860 + union perf_event *event) 3862 3861 { 3863 3862 ssize_t size_read, padding, size = event->tracing_data.size; 3864 3863 int fd = perf_data__fd(session->data); ··· 3923 3924 return err; 3924 3925 } 3925 3926 3926 - int perf_event__process_build_id(struct perf_tool *tool __maybe_unused, 3927 - union perf_event *event, 3928 - struct perf_session *session) 3927 + int perf_event__process_build_id(struct perf_session *session, 3928 + union perf_event *event) 3929 3929 { 3930 3930 __event_process_build_id(&event->build_id, 3931 3931 event->build_id.filename,
+6 -9
tools/perf/util/header.h
··· 116 116 perf_event__handler_t process, 117 117 bool is_pipe); 118 118 119 - int perf_event__process_feature(struct perf_tool *tool, 120 - union perf_event *event, 121 - struct perf_session *session); 119 + int perf_event__process_feature(struct perf_session *session, 120 + union perf_event *event); 122 121 123 122 int perf_event__synthesize_attr(struct perf_tool *tool, 124 123 struct perf_event_attr *attr, u32 ids, u64 *id, ··· 147 148 int perf_event__synthesize_tracing_data(struct perf_tool *tool, 148 149 int fd, struct perf_evlist *evlist, 149 150 perf_event__handler_t process); 150 - int perf_event__process_tracing_data(struct perf_tool *tool, 151 - union perf_event *event, 152 - struct perf_session *session); 151 + int perf_event__process_tracing_data(struct perf_session *session, 152 + union perf_event *event); 153 153 154 154 int perf_event__synthesize_build_id(struct perf_tool *tool, 155 155 struct dso *pos, u16 misc, 156 156 perf_event__handler_t process, 157 157 struct machine *machine); 158 - int perf_event__process_build_id(struct perf_tool *tool, 159 - union perf_event *event, 160 - struct perf_session *session); 158 + int perf_event__process_build_id(struct perf_session *session, 159 + union perf_event *event); 161 160 bool is_perf_magic(u64 magic); 162 161 163 162 #define NAME_ALIGN 64
+28 -39
tools/perf/util/session.c
··· 199 199 free(session); 200 200 } 201 201 202 - static int process_event_synth_tracing_data_stub(struct perf_tool *tool 202 + static int process_event_synth_tracing_data_stub(struct perf_session *session 203 203 __maybe_unused, 204 204 union perf_event *event 205 - __maybe_unused, 206 - struct perf_session *session 207 - __maybe_unused) 205 + __maybe_unused) 208 206 { 209 207 dump_printf(": unhandled!\n"); 210 208 return 0; ··· 286 288 return event->auxtrace.size; 287 289 } 288 290 289 - static int process_event_op2_stub(struct perf_tool *tool __maybe_unused, 290 - union perf_event *event __maybe_unused, 291 - struct perf_session *session __maybe_unused) 291 + static int process_event_op2_stub(struct perf_session *session __maybe_unused, 292 + union perf_event *event __maybe_unused) 292 293 { 293 294 dump_printf(": unhandled!\n"); 294 295 return 0; ··· 295 298 296 299 297 300 static 298 - int process_event_thread_map_stub(struct perf_tool *tool __maybe_unused, 299 - union perf_event *event __maybe_unused, 300 - struct perf_session *session __maybe_unused) 301 + int process_event_thread_map_stub(struct perf_session *session __maybe_unused, 302 + union perf_event *event __maybe_unused) 301 303 { 302 304 if (dump_trace) 303 305 perf_event__fprintf_thread_map(event, stdout); ··· 306 310 } 307 311 308 312 static 309 - int process_event_cpu_map_stub(struct perf_tool *tool __maybe_unused, 310 - union perf_event *event __maybe_unused, 311 - struct perf_session *session __maybe_unused) 313 + int process_event_cpu_map_stub(struct perf_session *session __maybe_unused, 314 + union perf_event *event __maybe_unused) 312 315 { 313 316 if (dump_trace) 314 317 perf_event__fprintf_cpu_map(event, stdout); ··· 317 322 } 318 323 319 324 static 320 - int process_event_stat_config_stub(struct perf_tool *tool __maybe_unused, 321 - union perf_event *event __maybe_unused, 322 - struct perf_session *session __maybe_unused) 325 + int process_event_stat_config_stub(struct perf_session *session __maybe_unused, 326 + union perf_event *event __maybe_unused) 323 327 { 324 328 if (dump_trace) 325 329 perf_event__fprintf_stat_config(event, stdout); ··· 327 333 return 0; 328 334 } 329 335 330 - static int process_stat_stub(struct perf_tool *tool __maybe_unused, 331 - union perf_event *event __maybe_unused, 332 - struct perf_session *perf_session 333 - __maybe_unused) 336 + static int process_stat_stub(struct perf_session *perf_session __maybe_unused, 337 + union perf_event *event) 334 338 { 335 339 if (dump_trace) 336 340 perf_event__fprintf_stat(event, stdout); ··· 337 345 return 0; 338 346 } 339 347 340 - static int process_stat_round_stub(struct perf_tool *tool __maybe_unused, 341 - union perf_event *event __maybe_unused, 342 - struct perf_session *perf_session 343 - __maybe_unused) 348 + static int process_stat_round_stub(struct perf_session *perf_session __maybe_unused, 349 + union perf_event *event) 344 350 { 345 351 if (dump_trace) 346 352 perf_event__fprintf_stat_round(event, stdout); ··· 1364 1374 case PERF_RECORD_HEADER_TRACING_DATA: 1365 1375 /* setup for reading amidst mmap */ 1366 1376 lseek(fd, file_offset, SEEK_SET); 1367 - return tool->tracing_data(tool, event, session); 1377 + return tool->tracing_data(session, event); 1368 1378 case PERF_RECORD_HEADER_BUILD_ID: 1369 - return tool->build_id(tool, event, session); 1379 + return tool->build_id(session, event); 1370 1380 case PERF_RECORD_FINISHED_ROUND: 1371 1381 return tool->finished_round(tool, event, oe); 1372 1382 case PERF_RECORD_ID_INDEX: 1373 - return tool->id_index(tool, event, session); 1383 + return tool->id_index(session, event); 1374 1384 case PERF_RECORD_AUXTRACE_INFO: 1375 - return tool->auxtrace_info(tool, event, session); 1385 + return tool->auxtrace_info(session, event); 1376 1386 case PERF_RECORD_AUXTRACE: 1377 1387 /* setup for reading amidst mmap */ 1378 1388 lseek(fd, file_offset + event->header.size, SEEK_SET); 1379 1389 return tool->auxtrace(tool, event, session); 1380 1390 case PERF_RECORD_AUXTRACE_ERROR: 1381 1391 perf_session__auxtrace_error_inc(session, event); 1382 - return tool->auxtrace_error(tool, event, session); 1392 + return tool->auxtrace_error(session, event); 1383 1393 case PERF_RECORD_THREAD_MAP: 1384 - return tool->thread_map(tool, event, session); 1394 + return tool->thread_map(session, event); 1385 1395 case PERF_RECORD_CPU_MAP: 1386 - return tool->cpu_map(tool, event, session); 1396 + return tool->cpu_map(session, event); 1387 1397 case PERF_RECORD_STAT_CONFIG: 1388 - return tool->stat_config(tool, event, session); 1398 + return tool->stat_config(session, event); 1389 1399 case PERF_RECORD_STAT: 1390 - return tool->stat(tool, event, session); 1400 + return tool->stat(session, event); 1391 1401 case PERF_RECORD_STAT_ROUND: 1392 - return tool->stat_round(tool, event, session); 1402 + return tool->stat_round(session, event); 1393 1403 case PERF_RECORD_TIME_CONV: 1394 1404 session->time_conv = event->time_conv; 1395 - return tool->time_conv(tool, event, session); 1405 + return tool->time_conv(session, event); 1396 1406 case PERF_RECORD_HEADER_FEATURE: 1397 - return tool->feature(tool, event, session); 1407 + return tool->feature(session, event); 1398 1408 default: 1399 1409 return -EINVAL; 1400 1410 } ··· 2123 2133 return err; 2124 2134 } 2125 2135 2126 - int perf_event__process_id_index(struct perf_tool *tool __maybe_unused, 2127 - union perf_event *event, 2128 - struct perf_session *session) 2136 + int perf_event__process_id_index(struct perf_session *session, 2137 + union perf_event *event) 2129 2138 { 2130 2139 struct perf_evlist *evlist = session->evlist; 2131 2140 struct id_index_event *ie = &event->id_index;
+2 -3
tools/perf/util/session.h
··· 120 120 union perf_event *event, 121 121 struct perf_sample *sample); 122 122 123 - int perf_event__process_id_index(struct perf_tool *tool, 124 - union perf_event *event, 125 - struct perf_session *session); 123 + int perf_event__process_id_index(struct perf_session *session, 124 + union perf_event *event); 126 125 127 126 int perf_event__synthesize_id_index(struct perf_tool *tool, 128 127 perf_event__handler_t process,
+2 -3
tools/perf/util/stat.c
··· 374 374 return 0; 375 375 } 376 376 377 - int perf_event__process_stat_event(struct perf_tool *tool __maybe_unused, 378 - union perf_event *event, 379 - struct perf_session *session) 377 + int perf_event__process_stat_event(struct perf_session *session, 378 + union perf_event *event) 380 379 { 381 380 struct perf_counts_values count; 382 381 struct stat_event *st = &event->stat;
+2 -3
tools/perf/util/stat.h
··· 199 199 struct perf_tool; 200 200 union perf_event; 201 201 struct perf_session; 202 - int perf_event__process_stat_event(struct perf_tool *tool, 203 - union perf_event *event, 204 - struct perf_session *session); 202 + int perf_event__process_stat_event(struct perf_session *session, 203 + union perf_event *event); 205 204 206 205 size_t perf_event__fprintf_stat(union perf_event *event, FILE *fp); 207 206 size_t perf_event__fprintf_stat_round(union perf_event *event, FILE *fp);
+1 -2
tools/perf/util/tool.h
··· 26 26 union perf_event *event, 27 27 struct perf_evlist **pevlist); 28 28 29 - typedef int (*event_op2)(struct perf_tool *tool, union perf_event *event, 30 - struct perf_session *session); 29 + typedef int (*event_op2)(struct perf_session *session, union perf_event *event); 31 30 32 31 typedef int (*event_oe)(struct perf_tool *tool, union perf_event *event, 33 32 struct ordered_events *oe);