aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/util/event.h
diff options
context:
space:
mode:
authorArnaldo Carvalho de Melo <acme@redhat.com>2011-11-25 05:19:45 -0500
committerArnaldo Carvalho de Melo <acme@redhat.com>2011-11-28 07:38:56 -0500
commitd20deb64e0490ee9442b5181bc08a62d2cadcb90 (patch)
treeafdb3f6fc9abbce9d0a96b7049d1f8121178a356 /tools/perf/util/event.h
parent7009cc34b964939815160d7de64cf0215cdbf8bb (diff)
perf tools: Pass tool context in the the perf_event_ops functions
So that we don't need to have that many globals. Next steps will remove the 'session' pointer, that in most cases is not needed. Then we can rename perf_event_ops to 'perf_tool' that better describes this class hierarchy. Cc: David Ahern <dsahern@gmail.com> Cc: Frederic Weisbecker <fweisbec@gmail.com> Cc: Mike Galbraith <efault@gmx.de> Cc: Paul Mackerras <paulus@samba.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Stephane Eranian <eranian@google.com> Link: http://lkml.kernel.org/n/tip-wp4djox7x6w1i2bab1pt4xxp@git.kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/util/event.h')
-rw-r--r--tools/perf/util/event.h38
1 files changed, 26 insertions, 12 deletions
diff --git a/tools/perf/util/event.h b/tools/perf/util/event.h
index 357a85b85248..669409d35710 100644
--- a/tools/perf/util/event.h
+++ b/tools/perf/util/event.h
@@ -141,38 +141,52 @@ union perf_event {
141 141
142void perf_event__print_totals(void); 142void perf_event__print_totals(void);
143 143
144struct perf_event_ops;
144struct perf_session; 145struct perf_session;
145struct thread_map; 146struct thread_map;
146 147
147typedef int (*perf_event__handler_synth_t)(union perf_event *event, 148typedef int (*perf_event__handler_t)(struct perf_event_ops *ops,
148 struct perf_session *session); 149 union perf_event *event,
149typedef int (*perf_event__handler_t)(union perf_event *event,
150 struct perf_sample *sample, 150 struct perf_sample *sample,
151 struct perf_session *session); 151 struct perf_session *session);
152 152
153int perf_event__synthesize_thread_map(struct thread_map *threads, 153int perf_event__synthesize_thread_map(struct perf_event_ops *ops,
154 struct thread_map *threads,
154 perf_event__handler_t process, 155 perf_event__handler_t process,
155 struct perf_session *session); 156 struct perf_session *session);
156int perf_event__synthesize_threads(perf_event__handler_t process, 157int perf_event__synthesize_threads(struct perf_event_ops *ops,
158 perf_event__handler_t process,
157 struct perf_session *session); 159 struct perf_session *session);
158int perf_event__synthesize_kernel_mmap(perf_event__handler_t process, 160int perf_event__synthesize_kernel_mmap(struct perf_event_ops *ops,
161 perf_event__handler_t process,
159 struct perf_session *session, 162 struct perf_session *session,
160 struct machine *machine, 163 struct machine *machine,
161 const char *symbol_name); 164 const char *symbol_name);
162 165
163int perf_event__synthesize_modules(perf_event__handler_t process, 166int perf_event__synthesize_modules(struct perf_event_ops *ops,
167 perf_event__handler_t process,
164 struct perf_session *session, 168 struct perf_session *session,
165 struct machine *machine); 169 struct machine *machine);
166 170
167int perf_event__process_comm(union perf_event *event, struct perf_sample *sample, 171int perf_event__process_comm(struct perf_event_ops *ops,
172 union perf_event *event,
173 struct perf_sample *sample,
168 struct perf_session *session); 174 struct perf_session *session);
169int perf_event__process_lost(union perf_event *event, struct perf_sample *sample, 175int perf_event__process_lost(struct perf_event_ops *ops,
176 union perf_event *event,
177 struct perf_sample *sample,
170 struct perf_session *session); 178 struct perf_session *session);
171int perf_event__process_mmap(union perf_event *event, struct perf_sample *sample, 179int perf_event__process_mmap(struct perf_event_ops *ops,
180 union perf_event *event,
181 struct perf_sample *sample,
172 struct perf_session *session); 182 struct perf_session *session);
173int perf_event__process_task(union perf_event *event, struct perf_sample *sample, 183int perf_event__process_task(struct perf_event_ops *ops,
184 union perf_event *event,
185 struct perf_sample *sample,
174 struct perf_session *session); 186 struct perf_session *session);
175int perf_event__process(union perf_event *event, struct perf_sample *sample, 187int perf_event__process(struct perf_event_ops *ops,
188 union perf_event *event,
189 struct perf_sample *sample,
176 struct perf_session *session); 190 struct perf_session *session);
177 191
178struct addr_location; 192struct addr_location;