perf ordered_events: Add private data member
tip-bot for Jiri Olsa
merge botCommit-ID: 4bc8acb7e06b8bc882fc3ca42e0980275f6e629e Gitweb: https://git.kernel.org/tip/4bc8acb7e06b8bc882fc3ca42e0980275f6e629e Author: Jiri Olsa <[email protected]> AuthorDate: Wed, 7 Nov 2018 16:58:36 +0100 Committer: Arnaldo Carvalho de Melo <[email protected]> CommitDate: Thu, 6 Dec 2018 14:12:32 -0300
perf ordered_events: Add private data member
We will need it in following patch, where we can't use the container_of() trick to get the higher level object.
Acked-by David S. Miller <[email protected]>
Acked-by Namhyung Kim <[email protected]>
Cc Alexander Shishkin <[email protected]>
Cc Peter Zijlstra <[email protected]>
Signed-off-by Jiri Olsa <[email protected]>
--- tools/perf/util/ordered-events.c | 6 ++++-- tools/perf/util/ordered-events.h | 4 +++- tools/perf/util/session.c | 3 ++- 3 files changed, 9 insertions(+), 4 deletions(-)
tools/perf/util/ordered-events.c +4 -2
@@ -326,7 +326,8 @@ int ordered_events__flush(struct ordered_events *oe, enum oe_flush how)return err; } -void ordered_events__init (struct ordered_events *oe,ordered_events__deliver_t deliver) +void ordered_events__init (struct ordered_events *oe,ordered_events__deliver_t deliver, +void *data) {INIT_LIST_HEAD (&oe->events);INIT_LIST_HEAD (&oe->cache);
@@ -334,6 +335,7 @@ void ordered_events__init(struct ordered_events *oe, ordered_events__deliver_t d oe->max_alloc_size = (u64) -1 ; oe->cur_alloc_size =0 ; oe->deliver = deliver; + oe->data = data; } static void
@@ -377,5 +379,5 @@ void ordered_events__reinit(struct ordered_events *oe)ordered_events__free (oe);memset (oe,'\0' ,sizeof (*oe)); -ordered_events__init (oe, old_deliver); +ordered_events__init (oe, old_deliver, oe->data); }
tools/perf/util/ordered-events.h +3 -1
@@ -47,13 +47,15 @@ struct ordered_events {enum oe_flush last_flush_type;u32 nr_unordered_events;bool copy_on_queue; +void *data; };int ordered_events__queue (struct ordered_events *oe,union perf_event *event,u64 timestamp,u64 file_offset);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,ordered_events__deliver_t deliver); +void ordered_events__init (struct ordered_events *oe,ordered_events__deliver_t deliver, +void *data);void ordered_events__free (struct ordered_events *oe);void ordered_events__reinit (struct ordered_events *oe);
tools/perf/util/session.c +2 -1
@@ -126,7 +126,8 @@ struct perf_session *perf_session__new(struct perf_data *data, session->tool = tool;INIT_LIST_HEAD (&session->auxtrace_index);machines__init (&session->machines); -ordered_events__init (&session->ordered_events, ordered_events__deliver_event); +ordered_events__init (&session->ordered_events, + ordered_events__deliver_event,NULL );if (data) {if (perf_data__open (data))