diff options
Diffstat (limited to 'tools/perf/builtin-inject.c')
| -rw-r--r-- | tools/perf/builtin-inject.c | 82 |
1 files changed, 43 insertions, 39 deletions
diff --git a/tools/perf/builtin-inject.c b/tools/perf/builtin-inject.c index 0c78ffa7bf6..e29f04ed339 100644 --- a/tools/perf/builtin-inject.c +++ b/tools/perf/builtin-inject.c | |||
| @@ -16,8 +16,8 @@ | |||
| 16 | static char const *input_name = "-"; | 16 | static char const *input_name = "-"; |
| 17 | static bool inject_build_ids; | 17 | static bool inject_build_ids; |
| 18 | 18 | ||
| 19 | static int event__repipe_synth(event_t *event, | 19 | static int perf_event__repipe_synth(union perf_event *event, |
| 20 | struct perf_session *session __used) | 20 | struct perf_session *session __used) |
| 21 | { | 21 | { |
| 22 | uint32_t size; | 22 | uint32_t size; |
| 23 | void *buf = event; | 23 | void *buf = event; |
| @@ -36,41 +36,44 @@ static int event__repipe_synth(event_t *event, | |||
| 36 | return 0; | 36 | return 0; |
| 37 | } | 37 | } |
| 38 | 38 | ||
| 39 | static int event__repipe(event_t *event, struct sample_data *sample __used, | 39 | static int perf_event__repipe(union perf_event *event, |
| 40 | struct perf_session *session) | 40 | struct perf_sample *sample __used, |
| 41 | struct perf_session *session) | ||
| 41 | { | 42 | { |
| 42 | return event__repipe_synth(event, session); | 43 | return perf_event__repipe_synth(event, session); |
| 43 | } | 44 | } |
| 44 | 45 | ||
| 45 | static int event__repipe_mmap(event_t *self, struct sample_data *sample, | 46 | static int perf_event__repipe_mmap(union perf_event *event, |
| 46 | struct perf_session *session) | 47 | struct perf_sample *sample, |
| 48 | struct perf_session *session) | ||
| 47 | { | 49 | { |
| 48 | int err; | 50 | int err; |
| 49 | 51 | ||
| 50 | err = event__process_mmap(self, sample, session); | 52 | err = perf_event__process_mmap(event, sample, session); |
| 51 | event__repipe(self, sample, session); | 53 | perf_event__repipe(event, sample, session); |
| 52 | 54 | ||
| 53 | return err; | 55 | return err; |
| 54 | } | 56 | } |
| 55 | 57 | ||
| 56 | static int event__repipe_task(event_t *self, struct sample_data *sample, | 58 | static int perf_event__repipe_task(union perf_event *event, |
| 57 | struct perf_session *session) | 59 | struct perf_sample *sample, |
| 60 | struct perf_session *session) | ||
| 58 | { | 61 | { |
| 59 | int err; | 62 | int err; |
| 60 | 63 | ||
| 61 | err = event__process_task(self, sample, session); | 64 | err = perf_event__process_task(event, sample, session); |
| 62 | event__repipe(self, sample, session); | 65 | perf_event__repipe(event, sample, session); |
| 63 | 66 | ||
| 64 | return err; | 67 | return err; |
| 65 | } | 68 | } |
| 66 | 69 | ||
| 67 | static int event__repipe_tracing_data(event_t *self, | 70 | static int perf_event__repipe_tracing_data(union perf_event *event, |
| 68 | struct perf_session *session) | 71 | struct perf_session *session) |
| 69 | { | 72 | { |
| 70 | int err; | 73 | int err; |
| 71 | 74 | ||
| 72 | event__repipe_synth(self, session); | 75 | perf_event__repipe_synth(event, session); |
| 73 | err = event__process_tracing_data(self, session); | 76 | err = perf_event__process_tracing_data(event, session); |
| 74 | 77 | ||
| 75 | return err; | 78 | return err; |
| 76 | } | 79 | } |
| @@ -109,8 +112,8 @@ static int dso__inject_build_id(struct dso *self, struct perf_session *session) | |||
| 109 | if (self->kernel) | 112 | if (self->kernel) |
| 110 | misc = PERF_RECORD_MISC_KERNEL; | 113 | misc = PERF_RECORD_MISC_KERNEL; |
| 111 | 114 | ||
| 112 | err = event__synthesize_build_id(self, misc, event__repipe, | 115 | err = perf_event__synthesize_build_id(self, misc, perf_event__repipe, |
| 113 | machine, session); | 116 | machine, session); |
| 114 | if (err) { | 117 | if (err) { |
| 115 | pr_err("Can't synthesize build_id event for %s\n", self->long_name); | 118 | pr_err("Can't synthesize build_id event for %s\n", self->long_name); |
| 116 | return -1; | 119 | return -1; |
| @@ -119,8 +122,9 @@ static int dso__inject_build_id(struct dso *self, struct perf_session *session) | |||
| 119 | return 0; | 122 | return 0; |
| 120 | } | 123 | } |
| 121 | 124 | ||
| 122 | static int event__inject_buildid(event_t *event, struct sample_data *sample, | 125 | static int perf_event__inject_buildid(union perf_event *event, |
| 123 | struct perf_session *session) | 126 | struct perf_sample *sample, |
| 127 | struct perf_session *session) | ||
| 124 | { | 128 | { |
| 125 | struct addr_location al; | 129 | struct addr_location al; |
| 126 | struct thread *thread; | 130 | struct thread *thread; |
| @@ -155,24 +159,24 @@ static int event__inject_buildid(event_t *event, struct sample_data *sample, | |||
| 155 | } | 159 | } |
| 156 | 160 | ||
| 157 | repipe: | 161 | repipe: |
| 158 | event__repipe(event, sample, session); | 162 | perf_event__repipe(event, sample, session); |
| 159 | return 0; | 163 | return 0; |
| 160 | } | 164 | } |
| 161 | 165 | ||
| 162 | struct perf_event_ops inject_ops = { | 166 | struct perf_event_ops inject_ops = { |
| 163 | .sample = event__repipe, | 167 | .sample = perf_event__repipe, |
| 164 | .mmap = event__repipe, | 168 | .mmap = perf_event__repipe, |
| 165 | .comm = event__repipe, | 169 | .comm = perf_event__repipe, |
| 166 | .fork = event__repipe, | 170 | .fork = perf_event__repipe, |
| 167 | .exit = event__repipe, | 171 | .exit = perf_event__repipe, |
| 168 | .lost = event__repipe, | 172 | .lost = perf_event__repipe, |
| 169 | .read = event__repipe, | 173 | .read = perf_event__repipe, |
| 170 | .throttle = event__repipe, | 174 | .throttle = perf_event__repipe, |
| 171 | .unthrottle = event__repipe, | 175 | .unthrottle = perf_event__repipe, |
| 172 | .attr = event__repipe_synth, | 176 | .attr = perf_event__repipe_synth, |
| 173 | .event_type = event__repipe_synth, | 177 | .event_type = perf_event__repipe_synth, |
| 174 | .tracing_data = event__repipe_synth, | 178 | .tracing_data = perf_event__repipe_synth, |
| 175 | .build_id = event__repipe_synth, | 179 | .build_id = perf_event__repipe_synth, |
| 176 | }; | 180 | }; |
| 177 | 181 | ||
| 178 | extern volatile int session_done; | 182 | extern volatile int session_done; |
| @@ -190,10 +194,10 @@ static int __cmd_inject(void) | |||
| 190 | signal(SIGINT, sig_handler); | 194 | signal(SIGINT, sig_handler); |
| 191 | 195 | ||
| 192 | if (inject_build_ids) { | 196 | if (inject_build_ids) { |
| 193 | inject_ops.sample = event__inject_buildid; | 197 | inject_ops.sample = perf_event__inject_buildid; |
| 194 | inject_ops.mmap = event__repipe_mmap; | 198 | inject_ops.mmap = perf_event__repipe_mmap; |
| 195 | inject_ops.fork = event__repipe_task; | 199 | inject_ops.fork = perf_event__repipe_task; |
| 196 | inject_ops.tracing_data = event__repipe_tracing_data; | 200 | inject_ops.tracing_data = perf_event__repipe_tracing_data; |
| 197 | } | 201 | } |
| 198 | 202 | ||
| 199 | session = perf_session__new(input_name, O_RDONLY, false, true, &inject_ops); | 203 | session = perf_session__new(input_name, O_RDONLY, false, true, &inject_ops); |
