Lines Matching refs:tool

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