diff options
author | Wang Nan <wangnan0@huawei.com> | 2016-04-13 04:21:04 -0400 |
---|---|---|
committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2016-04-14 07:57:54 -0400 |
commit | 4532f642974d871f9a50e9a09bc482eaed5394f6 (patch) | |
tree | 51d57a1e9465131760a45ae707c933201e3a7471 | |
parent | ea8dc3cefba0a0decaedc710b218a6ceffe0194a (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.c | 9 | ||||
-rw-r--r-- | tools/perf/util/ordered-events.h | 1 |
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 | |||
312 | void 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 | |||
49 | int ordered_events__flush(struct ordered_events *oe, enum oe_flush how); | 49 | int ordered_events__flush(struct ordered_events *oe, enum oe_flush how); |
50 | void ordered_events__init(struct ordered_events *oe, ordered_events__deliver_t deliver); | 50 | void ordered_events__init(struct ordered_events *oe, ordered_events__deliver_t deliver); |
51 | void ordered_events__free(struct ordered_events *oe); | 51 | void ordered_events__free(struct ordered_events *oe); |
52 | void ordered_events__reinit(struct ordered_events *oe); | ||
52 | 53 | ||
53 | static inline | 54 | static inline |
54 | void ordered_events__set_alloc_size(struct ordered_events *oe, u64 size) | 55 | void ordered_events__set_alloc_size(struct ordered_events *oe, u64 size) |