summaryrefslogtreecommitdiff
path: root/tools/perf/util/ordered-events.h
diff options
context:
space:
mode:
authorArnaldo Carvalho de Melo <acme@redhat.com>2015-03-03 12:20:38 -0300
committerArnaldo Carvalho de Melo <acme@redhat.com>2015-03-12 12:39:46 -0300
commitd10eb1eb76a86266354ecab6e42c1606e3b8bc4c (patch)
treee16a15de7df6ff556375effce15d5ece48c809bd /tools/perf/util/ordered-events.h
parentb7b61cbebd789a3dbca522e3fdb727fe5c95593f (diff)
perf ordered_events: Allow tools to specify a deliver method
So that we can simplify the deliver method to pass just: (ordered_events, ordered_event, sample); Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Borislav Petkov <bp@suse.de> Cc: David Ahern <dsahern@gmail.com> Cc: Don Zickus <dzickus@redhat.com> Cc: Frederic Weisbecker <fweisbec@gmail.com> Cc: Jiri Olsa <jolsa@redhat.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Stephane Eranian <eranian@google.com> Link: http://lkml.kernel.org/n/tip-j0s4bpxs5qza5tnkvjwom9rw@git.kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/util/ordered-events.h')
-rw-r--r--tools/perf/util/ordered-events.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/tools/perf/util/ordered-events.h b/tools/perf/util/ordered-events.h
index ef7d73ecb0d0..c6cf0bafbb2c 100644
--- a/tools/perf/util/ordered-events.h
+++ b/tools/perf/util/ordered-events.h
@@ -5,6 +5,7 @@
struct perf_tool;
struct perf_evlist;
+struct perf_sample;
struct machines;
struct ordered_event {
@@ -21,6 +22,12 @@ enum oe_flush {
OE_FLUSH__HALF,
};
+struct ordered_events;
+
+typedef int (*ordered_events__deliver_t)(struct ordered_events *oe,
+ struct ordered_event *event,
+ struct perf_sample *sample);
+
struct ordered_events {
u64 last_flush;
u64 next_flush;
@@ -35,6 +42,7 @@ struct ordered_events {
struct machines *machines;
struct perf_evlist *evlist;
struct perf_tool *tool;
+ ordered_events__deliver_t deliver;
int buffer_idx;
unsigned int nr_events;
enum oe_flush last_flush_type;
@@ -46,7 +54,8 @@ struct ordered_event *ordered_events__new(struct ordered_events *oe, u64 timesta
void ordered_events__delete(struct ordered_events *oe, struct ordered_event *event);
int ordered_events__flush(struct ordered_events *oe, enum oe_flush how);
void ordered_events__init(struct ordered_events *oe, struct machines *machines,
- struct perf_evlist *evlsit, struct perf_tool *tool);
+ struct perf_evlist *evlsit, struct perf_tool *tool,
+ ordered_events__deliver_t deliver);
void ordered_events__free(struct ordered_events *oe);
static inline