aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWang Nan <wangnan0@huawei.com>2016-04-13 04:21:04 -0400
committerArnaldo Carvalho de Melo <acme@redhat.com>2016-04-14 07:57:54 -0400
commit4532f642974d871f9a50e9a09bc482eaed5394f6 (patch)
tree51d57a1e9465131760a45ae707c933201e3a7471
parentea8dc3cefba0a0decaedc710b218a6ceffe0194a (diff)
perf ordered_events: Introduce reinit()
'perf record' will use this when outputting multiple perf.data files. Signed-off-by: Wang Nan <wangnan0@huawei.com> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Masami Hiramatsu <mhiramat@kernel.org> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Zefan Li <lizefan@huawei.com> Cc: pi3orama@163.com Link: http://lkml.kernel.org/r/1460535673-159866-2-git-send-email-wangnan0@huawei.com Signed-off-by: He Kuang <hekuang@huawei.com> [ Split from larger patch ] Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
-rw-r--r--tools/perf/util/ordered-events.c9
-rw-r--r--tools/perf/util/ordered-events.h1
2 files changed, 10 insertions, 0 deletions
diff --git a/tools/perf/util/ordered-events.c b/tools/perf/util/ordered-events.c
index b1b9e2385f4b..fe84df1875aa 100644
--- a/tools/perf/util/ordered-events.c
+++ b/tools/perf/util/ordered-events.c
@@ -308,3 +308,12 @@ void ordered_events__free(struct ordered_events *oe)
308 free(event); 308 free(event);
309 } 309 }
310} 310}
311
312void ordered_events__reinit(struct ordered_events *oe)
313{
314 ordered_events__deliver_t old_deliver = oe->deliver;
315
316 ordered_events__free(oe);
317 memset(oe, '\0', sizeof(*oe));
318 ordered_events__init(oe, old_deliver);
319}
diff --git a/tools/perf/util/ordered-events.h b/tools/perf/util/ordered-events.h
index f403991e3bfd..e11468a9a6e4 100644
--- a/tools/perf/util/ordered-events.h
+++ b/tools/perf/util/ordered-events.h
@@ -49,6 +49,7 @@ void ordered_events__delete(struct ordered_events *oe, struct ordered_event *eve
49int ordered_events__flush(struct ordered_events *oe, enum oe_flush how); 49int ordered_events__flush(struct ordered_events *oe, enum oe_flush how);
50void ordered_events__init(struct ordered_events *oe, ordered_events__deliver_t deliver); 50void ordered_events__init(struct ordered_events *oe, ordered_events__deliver_t deliver);
51void ordered_events__free(struct ordered_events *oe); 51void ordered_events__free(struct ordered_events *oe);
52void ordered_events__reinit(struct ordered_events *oe);
52 53
53static inline 54static inline
54void ordered_events__set_alloc_size(struct ordered_events *oe, u64 size) 55void ordered_events__set_alloc_size(struct ordered_events *oe, u64 size)