Lines Matching refs:tool

81 	struct perf_tool		tool;  member
107 struct perf_tool tool; member
137 static int dso__inject_build_id(struct dso *dso, struct perf_tool *tool,
152 static int perf_event__repipe_synth(struct perf_tool *tool, in perf_event__repipe_synth() argument
155 struct perf_inject *inject = container_of(tool, struct perf_inject, in perf_event__repipe_synth()
156 tool); in perf_event__repipe_synth()
161 static int perf_event__repipe_oe_synth(struct perf_tool *tool, in perf_event__repipe_oe_synth() argument
165 return perf_event__repipe_synth(tool, event); in perf_event__repipe_oe_synth()
169 static int perf_event__drop_oe(struct perf_tool *tool __maybe_unused, in perf_event__drop_oe()
180 return perf_event__repipe_synth(session->tool, event); in perf_event__repipe_op2_synth()
188 return perf_event__repipe_synth(session->tool, event); in perf_event__repipe_op4_synth()
191 static int perf_event__repipe_attr(struct perf_tool *tool, in perf_event__repipe_attr() argument
195 struct perf_inject *inject = container_of(tool, struct perf_inject, in perf_event__repipe_attr()
196 tool); in perf_event__repipe_attr()
199 ret = perf_event__process_attr(tool, event, pevlist); in perf_event__repipe_attr()
206 return perf_event__repipe_synth(tool, event); in perf_event__repipe_attr()
209 static int perf_event__repipe_event_update(struct perf_tool *tool, in perf_event__repipe_event_update() argument
213 return perf_event__repipe_synth(tool, event); in perf_event__repipe_event_update()
240 struct perf_tool *tool = session->tool; in perf_event__repipe_auxtrace() local
241 struct perf_inject *inject = container_of(tool, struct perf_inject, in perf_event__repipe_auxtrace()
242 tool); in perf_event__repipe_auxtrace()
287 static int perf_event__repipe(struct perf_tool *tool, in perf_event__repipe() argument
292 return perf_event__repipe_synth(tool, event); in perf_event__repipe()
295 static int perf_event__drop(struct perf_tool *tool __maybe_unused, in perf_event__drop()
303 static int perf_event__drop_aux(struct perf_tool *tool, in perf_event__drop_aux() argument
308 struct perf_inject *inject = container_of(tool, struct perf_inject, tool); in perf_event__drop_aux()
344 typedef int (*inject_handler)(struct perf_tool *tool,
350 static int perf_event__repipe_sample(struct perf_tool *tool, in perf_event__repipe_sample() argument
356 struct perf_inject *inject = container_of(tool, struct perf_inject, in perf_event__repipe_sample()
357 tool); in perf_event__repipe_sample()
361 return f(tool, event, sample, evsel, machine); in perf_event__repipe_sample()
364 build_id__mark_dso_hit(tool, event, sample, evsel, machine); in perf_event__repipe_sample()
372 return perf_event__repipe_synth(tool, event); in perf_event__repipe_sample()
375 static int perf_event__repipe_mmap(struct perf_tool *tool, in perf_event__repipe_mmap() argument
382 err = perf_event__process_mmap(tool, event, sample, machine); in perf_event__repipe_mmap()
383 perf_event__repipe(tool, event, sample, machine); in perf_event__repipe_mmap()
389 static int perf_event__jit_repipe_mmap(struct perf_tool *tool, in perf_event__jit_repipe_mmap() argument
394 struct perf_inject *inject = container_of(tool, struct perf_inject, tool); in perf_event__jit_repipe_mmap()
409 return perf_event__repipe_mmap(tool, event, sample, machine); in perf_event__jit_repipe_mmap()
459 static int perf_event__repipe_buildid_mmap(struct perf_tool *tool, in perf_event__repipe_buildid_mmap() argument
471 dso__inject_build_id(dso, tool, machine, sample->cpumode, 0); in perf_event__repipe_buildid_mmap()
475 return perf_event__repipe(tool, event, sample, machine); in perf_event__repipe_buildid_mmap()
478 static int perf_event__repipe_mmap2(struct perf_tool *tool, in perf_event__repipe_mmap2() argument
485 err = perf_event__process_mmap2(tool, event, sample, machine); in perf_event__repipe_mmap2()
486 perf_event__repipe(tool, event, sample, machine); in perf_event__repipe_mmap2()
504 static int perf_event__jit_repipe_mmap2(struct perf_tool *tool, in perf_event__jit_repipe_mmap2() argument
509 struct perf_inject *inject = container_of(tool, struct perf_inject, tool); in perf_event__jit_repipe_mmap2()
524 return perf_event__repipe_mmap2(tool, event, sample, machine); in perf_event__jit_repipe_mmap2()
528 static int perf_event__repipe_buildid_mmap2(struct perf_tool *tool, in perf_event__repipe_buildid_mmap2() argument
550 perf_event__repipe(tool, event, sample, machine); in perf_event__repipe_buildid_mmap2()
559 dso__inject_build_id(dso, tool, machine, sample->cpumode, in perf_event__repipe_buildid_mmap2()
564 perf_event__repipe(tool, event, sample, machine); in perf_event__repipe_buildid_mmap2()
569 static int perf_event__repipe_fork(struct perf_tool *tool, in perf_event__repipe_fork() argument
576 err = perf_event__process_fork(tool, event, sample, machine); in perf_event__repipe_fork()
577 perf_event__repipe(tool, event, sample, machine); in perf_event__repipe_fork()
582 static int perf_event__repipe_comm(struct perf_tool *tool, in perf_event__repipe_comm() argument
589 err = perf_event__process_comm(tool, event, sample, machine); in perf_event__repipe_comm()
590 perf_event__repipe(tool, event, sample, machine); in perf_event__repipe_comm()
595 static int perf_event__repipe_namespaces(struct perf_tool *tool, in perf_event__repipe_namespaces() argument
600 int err = perf_event__process_namespaces(tool, event, sample, machine); in perf_event__repipe_namespaces()
602 perf_event__repipe(tool, event, sample, machine); in perf_event__repipe_namespaces()
607 static int perf_event__repipe_exit(struct perf_tool *tool, in perf_event__repipe_exit() argument
614 err = perf_event__process_exit(tool, event, sample, machine); in perf_event__repipe_exit()
615 perf_event__repipe(tool, event, sample, machine); in perf_event__repipe_exit()
624 perf_event__repipe_synth(session->tool, event); in perf_event__repipe_tracing_data()
716 static int dso__inject_build_id(struct dso *dso, struct perf_tool *tool, in dso__inject_build_id() argument
719 struct perf_inject *inject = container_of(tool, struct perf_inject, in dso__inject_build_id()
720 tool); in dso__inject_build_id()
737 err = perf_event__synthesize_build_id(tool, dso, cpumode, in dso__inject_build_id()
747 int perf_event__inject_buildid(struct perf_tool *tool, union perf_event *event, in perf_event__inject_buildid() argument
768 dso__inject_build_id(dso, tool, machine, in perf_event__inject_buildid()
775 perf_event__repipe(tool, event, sample, machine); in perf_event__inject_buildid()
780 static int perf_inject__sched_process_exit(struct perf_tool *tool, in perf_inject__sched_process_exit() argument
786 struct perf_inject *inject = container_of(tool, struct perf_inject, tool); in perf_inject__sched_process_exit()
800 static int perf_inject__sched_switch(struct perf_tool *tool, in perf_inject__sched_switch() argument
806 struct perf_inject *inject = container_of(tool, struct perf_inject, tool); in perf_inject__sched_switch()
809 perf_inject__sched_process_exit(tool, event, sample, evsel, machine); in perf_inject__sched_switch()
825 static int perf_inject__sched_stat(struct perf_tool *tool, in perf_inject__sched_stat() argument
834 struct perf_inject *inject = container_of(tool, struct perf_inject, tool); in perf_inject__sched_stat()
851 build_id__mark_dso_hit(tool, event_sw, &sample_sw, evsel, machine); in perf_inject__sched_stat()
852 return perf_event__repipe(tool, event_sw, &sample_sw, machine); in perf_inject__sched_stat()
870 static int guest_session__repipe(struct perf_tool *tool, in guest_session__repipe() argument
875 struct guest_session *gs = container_of(tool, struct guest_session, tool); in guest_session__repipe()
1036 static int process_attr(struct perf_tool *tool, union perf_event *event, in process_attr() argument
1040 struct perf_inject *inject = container_of(tool, struct perf_inject, tool); in process_attr()
1042 return perf_event__process_attr(tool, event, &inject->session->evlist); in process_attr()
1079 ret = perf_event__synthesize_attr(&inject->tool, &attr, evsel->core.ids, in guest_session__add_attr()
1123 return __perf_event__synthesize_id_index(&inject->tool, perf_event__repipe, in synthesize_id_index()
1164 static int process_build_id(struct perf_tool *tool, in process_build_id() argument
1169 struct perf_inject *inject = container_of(tool, struct perf_inject, tool); in process_build_id()
1186 return perf_event__synthesize_build_id(&inject->tool, dso, cpumode, in synthesize_build_id()
1209 static int guest_session__ksymbol_event(struct perf_tool *tool, in guest_session__ksymbol_event() argument
1214 struct guest_session *gs = container_of(tool, struct guest_session, tool); in guest_session__ksymbol_event()
1230 gs->tool.mmap = guest_session__repipe; in guest_session__start()
1231 gs->tool.mmap2 = guest_session__repipe; in guest_session__start()
1232 gs->tool.comm = guest_session__repipe; in guest_session__start()
1233 gs->tool.fork = guest_session__repipe; in guest_session__start()
1234 gs->tool.exit = guest_session__repipe; in guest_session__start()
1235 gs->tool.lost = guest_session__repipe; in guest_session__start()
1236 gs->tool.context_switch = guest_session__repipe; in guest_session__start()
1237 gs->tool.ksymbol = guest_session__ksymbol_event; in guest_session__start()
1238 gs->tool.text_poke = guest_session__repipe; in guest_session__start()
1245 gs->tool.build_id = perf_event__process_build_id; in guest_session__start()
1247 gs->tool.id_index = perf_event__process_id_index; in guest_session__start()
1249 gs->tool.ordered_events = true; in guest_session__start()
1250 gs->tool.ordering_requires_timestamps = true; in guest_session__start()
1256 session = perf_session__new(&gs->data, &gs->tool); in guest_session__start()
1573 static int host__repipe(struct perf_tool *tool, in host__repipe() argument
1578 struct perf_inject *inject = container_of(tool, struct perf_inject, tool); in host__repipe()
1585 return perf_event__repipe(tool, event, sample, machine); in host__repipe()
1590 struct perf_inject *inject = container_of(session->tool, struct perf_inject, tool); in host__finished_init()
1646 static int host__finished_round(struct perf_tool *tool, in host__finished_round() argument
1650 struct perf_inject *inject = container_of(tool, struct perf_inject, tool); in host__finished_round()
1651 int ret = perf_event__process_finished_round(tool, event, oe); in host__finished_round()
1661 return perf_event__repipe_oe_synth(tool, event, oe); in host__finished_round()
1664 static int host__context_switch(struct perf_tool *tool, in host__context_switch() argument
1669 struct perf_inject *inject = container_of(tool, struct perf_inject, tool); in host__context_switch()
1696 return host__repipe(tool, event, sample, machine); in host__context_switch()
1718 static int drop_sample(struct perf_tool *tool __maybe_unused, in drop_sample()
1732 inject->tool.context_switch = perf_event__drop; in strip_init()
1985 inject->tool.mmap = perf_event__repipe_mmap; in __cmd_inject()
1986 inject->tool.mmap2 = perf_event__repipe_mmap2; in __cmd_inject()
1987 inject->tool.fork = perf_event__repipe_fork; in __cmd_inject()
1989 inject->tool.tracing_data = perf_event__repipe_tracing_data; in __cmd_inject()
1996 inject->tool.mmap = perf_event__repipe_buildid_mmap; in __cmd_inject()
1997 inject->tool.mmap2 = perf_event__repipe_buildid_mmap2; in __cmd_inject()
1999 inject->tool.sample = perf_event__inject_buildid; in __cmd_inject()
2020 memset(&inject->tool, 0, sizeof(inject->tool)); in __cmd_inject()
2021 inject->tool.id_index = perf_event__process_id_index; in __cmd_inject()
2022 inject->tool.auxtrace_info = perf_event__process_auxtrace_info; in __cmd_inject()
2023 inject->tool.auxtrace = perf_event__process_auxtrace; in __cmd_inject()
2024 inject->tool.auxtrace_error = perf_event__process_auxtrace_error; in __cmd_inject()
2025 inject->tool.ordered_events = true; in __cmd_inject()
2026 inject->tool.ordering_requires_timestamps = true; in __cmd_inject()
2030 inject->tool.comm = perf_event__repipe_comm; in __cmd_inject()
2031 inject->tool.namespaces = perf_event__repipe_namespaces; in __cmd_inject()
2032 inject->tool.exit = perf_event__repipe_exit; in __cmd_inject()
2033 inject->tool.id_index = perf_event__process_id_index; in __cmd_inject()
2034 inject->tool.auxtrace_info = perf_event__process_auxtrace_info; in __cmd_inject()
2035 inject->tool.auxtrace = perf_event__process_auxtrace; in __cmd_inject()
2036 inject->tool.aux = perf_event__drop_aux; in __cmd_inject()
2037 inject->tool.itrace_start = perf_event__drop_aux; in __cmd_inject()
2038 inject->tool.aux_output_hw_id = perf_event__drop_aux; in __cmd_inject()
2039 inject->tool.ordered_events = true; in __cmd_inject()
2040 inject->tool.ordering_requires_timestamps = true; in __cmd_inject()
2052 inject->tool.mmap = host__repipe; in __cmd_inject()
2053 inject->tool.mmap2 = host__repipe; in __cmd_inject()
2054 inject->tool.comm = host__repipe; in __cmd_inject()
2055 inject->tool.fork = host__repipe; in __cmd_inject()
2056 inject->tool.exit = host__repipe; in __cmd_inject()
2057 inject->tool.lost = host__repipe; in __cmd_inject()
2058 inject->tool.context_switch = host__repipe; in __cmd_inject()
2059 inject->tool.ksymbol = host__repipe; in __cmd_inject()
2060 inject->tool.text_poke = host__repipe; in __cmd_inject()
2066 inject->tool.finished_init = host__finished_init; in __cmd_inject()
2068 inject->tool.finished_round = host__finished_round, in __cmd_inject()
2070 inject->tool.context_switch = host__context_switch; in __cmd_inject()
2075 inject->tool.ordered_events = true; in __cmd_inject()
2076 inject->tool.ordering_requires_timestamps = true; in __cmd_inject()
2164 .tool = { in cmd_inject()
2336 &inject.tool); in cmd_inject()
2357 ret = perf_event__synthesize_for_pipe(&inject.tool, in cmd_inject()
2372 inject.tool.ordered_events = true; in cmd_inject()
2373 inject.tool.ordering_requires_timestamps = true; in cmd_inject()
2386 inject.tool.ordered_events = true; in cmd_inject()
2391 inject.tool.mmap2 = perf_event__jit_repipe_mmap2; in cmd_inject()
2392 inject.tool.mmap = perf_event__jit_repipe_mmap; in cmd_inject()
2393 inject.tool.ordered_events = true; in cmd_inject()
2394 inject.tool.ordering_requires_timestamps = true; in cmd_inject()
2399 inject.tool.finished_round = perf_event__drop_oe; in cmd_inject()