Lines Matching full:tool
18 #include "util/tool.h"
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()
338 typedef int (*inject_handler)(struct perf_tool *tool,
344 static int perf_event__repipe_sample(struct perf_tool *tool, in perf_event__repipe_sample() argument
350 struct perf_inject *inject = container_of(tool, struct perf_inject, in perf_event__repipe_sample()
351 tool); in perf_event__repipe_sample()
355 return f(tool, event, sample, evsel, machine); in perf_event__repipe_sample()
358 build_id__mark_dso_hit(tool, event, sample, evsel, machine); in perf_event__repipe_sample()
363 return perf_event__repipe_synth(tool, event); in perf_event__repipe_sample()
366 static int perf_event__repipe_mmap(struct perf_tool *tool, in perf_event__repipe_mmap() argument
373 err = perf_event__process_mmap(tool, event, sample, machine); in perf_event__repipe_mmap()
374 perf_event__repipe(tool, event, sample, machine); in perf_event__repipe_mmap()
380 static int perf_event__jit_repipe_mmap(struct perf_tool *tool, in perf_event__jit_repipe_mmap() argument
385 struct perf_inject *inject = container_of(tool, struct perf_inject, tool); in perf_event__jit_repipe_mmap()
400 return perf_event__repipe_mmap(tool, event, sample, machine); in perf_event__jit_repipe_mmap()
450 static int perf_event__repipe_buildid_mmap(struct perf_tool *tool, in perf_event__repipe_buildid_mmap() argument
462 dso__inject_build_id(dso, tool, machine, sample->cpumode, 0); in perf_event__repipe_buildid_mmap()
466 return perf_event__repipe(tool, event, sample, machine); in perf_event__repipe_buildid_mmap()
469 static int perf_event__repipe_mmap2(struct perf_tool *tool, in perf_event__repipe_mmap2() argument
476 err = perf_event__process_mmap2(tool, event, sample, machine); in perf_event__repipe_mmap2()
477 perf_event__repipe(tool, event, sample, machine); in perf_event__repipe_mmap2()
495 static int perf_event__jit_repipe_mmap2(struct perf_tool *tool, in perf_event__jit_repipe_mmap2() argument
500 struct perf_inject *inject = container_of(tool, struct perf_inject, tool); in perf_event__jit_repipe_mmap2()
515 return perf_event__repipe_mmap2(tool, event, sample, machine); in perf_event__jit_repipe_mmap2()
519 static int perf_event__repipe_buildid_mmap2(struct perf_tool *tool, in perf_event__repipe_buildid_mmap2() argument
549 dso__inject_build_id(dso, tool, machine, sample->cpumode, in perf_event__repipe_buildid_mmap2()
554 perf_event__repipe(tool, event, sample, machine); in perf_event__repipe_buildid_mmap2()
559 static int perf_event__repipe_fork(struct perf_tool *tool, in perf_event__repipe_fork() argument
566 err = perf_event__process_fork(tool, event, sample, machine); in perf_event__repipe_fork()
567 perf_event__repipe(tool, event, sample, machine); in perf_event__repipe_fork()
572 static int perf_event__repipe_comm(struct perf_tool *tool, in perf_event__repipe_comm() argument
579 err = perf_event__process_comm(tool, event, sample, machine); in perf_event__repipe_comm()
580 perf_event__repipe(tool, event, sample, machine); in perf_event__repipe_comm()
585 static int perf_event__repipe_namespaces(struct perf_tool *tool, in perf_event__repipe_namespaces() argument
590 int err = perf_event__process_namespaces(tool, event, sample, machine); in perf_event__repipe_namespaces()
592 perf_event__repipe(tool, event, sample, machine); in perf_event__repipe_namespaces()
597 static int perf_event__repipe_exit(struct perf_tool *tool, in perf_event__repipe_exit() argument
604 err = perf_event__process_exit(tool, event, sample, machine); in perf_event__repipe_exit()
605 perf_event__repipe(tool, event, sample, machine); in perf_event__repipe_exit()
613 perf_event__repipe_synth(session->tool, event); in perf_event__repipe_tracing_data()
706 static int dso__inject_build_id(struct dso *dso, struct perf_tool *tool, in dso__inject_build_id() argument
709 struct perf_inject *inject = container_of(tool, struct perf_inject, in dso__inject_build_id()
710 tool); in dso__inject_build_id()
727 err = perf_event__synthesize_build_id(tool, dso, cpumode, in dso__inject_build_id()
737 int perf_event__inject_buildid(struct perf_tool *tool, union perf_event *event, in perf_event__inject_buildid() argument
755 dso__inject_build_id(al.map->dso, tool, machine, in perf_event__inject_buildid()
762 perf_event__repipe(tool, event, sample, machine); in perf_event__inject_buildid()
766 static int perf_inject__sched_process_exit(struct perf_tool *tool, in perf_inject__sched_process_exit() argument
772 struct perf_inject *inject = container_of(tool, struct perf_inject, tool); in perf_inject__sched_process_exit()
786 static int perf_inject__sched_switch(struct perf_tool *tool, in perf_inject__sched_switch() argument
792 struct perf_inject *inject = container_of(tool, struct perf_inject, tool); in perf_inject__sched_switch()
795 perf_inject__sched_process_exit(tool, event, sample, evsel, machine); in perf_inject__sched_switch()
810 static int perf_inject__sched_stat(struct perf_tool *tool, in perf_inject__sched_stat() argument
819 struct perf_inject *inject = container_of(tool, struct perf_inject, tool); in perf_inject__sched_stat()
836 build_id__mark_dso_hit(tool, event_sw, &sample_sw, evsel, machine); in perf_inject__sched_stat()
837 return perf_event__repipe(tool, event_sw, &sample_sw, machine); in perf_inject__sched_stat()
854 static int guest_session__repipe(struct perf_tool *tool, in guest_session__repipe() argument
859 struct guest_session *gs = container_of(tool, struct guest_session, tool); in guest_session__repipe()
1020 static int process_attr(struct perf_tool *tool, union perf_event *event, in process_attr() argument
1024 struct perf_inject *inject = container_of(tool, struct perf_inject, tool); in process_attr()
1026 return perf_event__process_attr(tool, event, &inject->session->evlist); in process_attr()
1063 ret = perf_event__synthesize_attr(&inject->tool, &attr, evsel->core.ids, in guest_session__add_attr()
1107 return __perf_event__synthesize_id_index(&inject->tool, perf_event__repipe, in synthesize_id_index()
1148 static int process_build_id(struct perf_tool *tool, in process_build_id() argument
1153 struct perf_inject *inject = container_of(tool, struct perf_inject, tool); in process_build_id()
1170 return perf_event__synthesize_build_id(&inject->tool, dso, cpumode, in synthesize_build_id()
1193 static int guest_session__ksymbol_event(struct perf_tool *tool, in guest_session__ksymbol_event() argument
1198 struct guest_session *gs = container_of(tool, struct guest_session, tool); in guest_session__ksymbol_event()
1214 gs->tool.mmap = guest_session__repipe; in guest_session__start()
1215 gs->tool.mmap2 = guest_session__repipe; in guest_session__start()
1216 gs->tool.comm = guest_session__repipe; in guest_session__start()
1217 gs->tool.fork = guest_session__repipe; in guest_session__start()
1218 gs->tool.exit = guest_session__repipe; in guest_session__start()
1219 gs->tool.lost = guest_session__repipe; in guest_session__start()
1220 gs->tool.context_switch = guest_session__repipe; in guest_session__start()
1221 gs->tool.ksymbol = guest_session__ksymbol_event; in guest_session__start()
1222 gs->tool.text_poke = guest_session__repipe; in guest_session__start()
1229 gs->tool.build_id = perf_event__process_build_id; in guest_session__start()
1231 gs->tool.id_index = perf_event__process_id_index; in guest_session__start()
1233 gs->tool.ordered_events = true; in guest_session__start()
1234 gs->tool.ordering_requires_timestamps = true; in guest_session__start()
1240 session = perf_session__new(&gs->data, &gs->tool); in guest_session__start()
1549 static int host__repipe(struct perf_tool *tool, in host__repipe() argument
1554 struct perf_inject *inject = container_of(tool, struct perf_inject, tool); in host__repipe()
1561 return perf_event__repipe(tool, event, sample, machine); in host__repipe()
1566 struct perf_inject *inject = container_of(session->tool, struct perf_inject, tool); in host__finished_init()
1622 static int host__finished_round(struct perf_tool *tool, in host__finished_round() argument
1626 struct perf_inject *inject = container_of(tool, struct perf_inject, tool); in host__finished_round()
1627 int ret = perf_event__process_finished_round(tool, event, oe); in host__finished_round()
1637 return perf_event__repipe_oe_synth(tool, event, oe); in host__finished_round()
1640 static int host__context_switch(struct perf_tool *tool, in host__context_switch() argument
1645 struct perf_inject *inject = container_of(tool, struct perf_inject, tool); in host__context_switch()
1672 return host__repipe(tool, event, sample, machine); in host__context_switch()
1694 static int drop_sample(struct perf_tool *tool __maybe_unused, in drop_sample()
1708 inject->tool.context_switch = perf_event__drop; in strip_init()
1961 inject->tool.mmap = perf_event__repipe_mmap; in __cmd_inject()
1962 inject->tool.mmap2 = perf_event__repipe_mmap2; in __cmd_inject()
1963 inject->tool.fork = perf_event__repipe_fork; in __cmd_inject()
1964 inject->tool.tracing_data = perf_event__repipe_tracing_data; in __cmd_inject()
1970 inject->tool.mmap = perf_event__repipe_buildid_mmap; in __cmd_inject()
1971 inject->tool.mmap2 = perf_event__repipe_buildid_mmap2; in __cmd_inject()
1973 inject->tool.sample = perf_event__inject_buildid; in __cmd_inject()
1992 memset(&inject->tool, 0, sizeof(inject->tool)); in __cmd_inject()
1993 inject->tool.id_index = perf_event__process_id_index; in __cmd_inject()
1994 inject->tool.auxtrace_info = perf_event__process_auxtrace_info; in __cmd_inject()
1995 inject->tool.auxtrace = perf_event__process_auxtrace; in __cmd_inject()
1996 inject->tool.auxtrace_error = perf_event__process_auxtrace_error; in __cmd_inject()
1997 inject->tool.ordered_events = true; in __cmd_inject()
1998 inject->tool.ordering_requires_timestamps = true; in __cmd_inject()
2002 inject->tool.comm = perf_event__repipe_comm; in __cmd_inject()
2003 inject->tool.namespaces = perf_event__repipe_namespaces; in __cmd_inject()
2004 inject->tool.exit = perf_event__repipe_exit; in __cmd_inject()
2005 inject->tool.id_index = perf_event__process_id_index; in __cmd_inject()
2006 inject->tool.auxtrace_info = perf_event__process_auxtrace_info; in __cmd_inject()
2007 inject->tool.auxtrace = perf_event__process_auxtrace; in __cmd_inject()
2008 inject->tool.aux = perf_event__drop_aux; in __cmd_inject()
2009 inject->tool.itrace_start = perf_event__drop_aux; in __cmd_inject()
2010 inject->tool.aux_output_hw_id = perf_event__drop_aux; in __cmd_inject()
2011 inject->tool.ordered_events = true; in __cmd_inject()
2012 inject->tool.ordering_requires_timestamps = true; in __cmd_inject()
2024 inject->tool.mmap = host__repipe; in __cmd_inject()
2025 inject->tool.mmap2 = host__repipe; in __cmd_inject()
2026 inject->tool.comm = host__repipe; in __cmd_inject()
2027 inject->tool.fork = host__repipe; in __cmd_inject()
2028 inject->tool.exit = host__repipe; in __cmd_inject()
2029 inject->tool.lost = host__repipe; in __cmd_inject()
2030 inject->tool.context_switch = host__repipe; in __cmd_inject()
2031 inject->tool.ksymbol = host__repipe; in __cmd_inject()
2032 inject->tool.text_poke = host__repipe; in __cmd_inject()
2038 inject->tool.finished_init = host__finished_init; in __cmd_inject()
2040 inject->tool.finished_round = host__finished_round, in __cmd_inject()
2042 inject->tool.context_switch = host__context_switch; in __cmd_inject()
2047 inject->tool.ordered_events = true; in __cmd_inject()
2048 inject->tool.ordering_requires_timestamps = true; in __cmd_inject()
2136 .tool = { in cmd_inject()
2301 &inject.tool); in cmd_inject()
2322 ret = perf_event__synthesize_for_pipe(&inject.tool, in cmd_inject()
2337 inject.tool.ordered_events = true; in cmd_inject()
2338 inject.tool.ordering_requires_timestamps = true; in cmd_inject()
2351 inject.tool.ordered_events = true; in cmd_inject()
2356 inject.tool.mmap2 = perf_event__jit_repipe_mmap2; in cmd_inject()
2357 inject.tool.mmap = perf_event__jit_repipe_mmap; in cmd_inject()
2358 inject.tool.ordered_events = true; in cmd_inject()
2359 inject.tool.ordering_requires_timestamps = true; in cmd_inject()
2364 inject.tool.finished_round = perf_event__drop_oe; in cmd_inject()