diff options
author | Jiri Olsa <jolsa@kernel.org> | 2014-06-10 16:50:03 -0400 |
---|---|---|
committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2014-08-12 11:03:00 -0400 |
commit | adc56ed1e01f1c43fc7bf75340f11f4ad5e11145 (patch) | |
tree | 39363f4edce723513ea514a2b21e0c2caffe12c1 | |
parent | 36522f5cf2ad280c971557e04120d52f9330ed36 (diff) |
perf tools: Add ordered_events__free function
Adding ordered_events__free function to release all the struct
ordered_events data. It's replacement for former
perf_session_free_sample_buffers function.
Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Acked-by: David Ahern <dsahern@gmail.com>
Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Jean Pihet <jean.pihet@linaro.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/n/tip-urraa8ccay4o14wambjraws7@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
-rw-r--r-- | tools/perf/util/ordered-events.c | 11 | ||||
-rw-r--r-- | tools/perf/util/ordered-events.h | 1 | ||||
-rw-r--r-- | tools/perf/util/session.c | 17 |
3 files changed, 14 insertions, 15 deletions
diff --git a/tools/perf/util/ordered-events.c b/tools/perf/util/ordered-events.c index 7b8923e12dc7..381d5fea1131 100644 --- a/tools/perf/util/ordered-events.c +++ b/tools/perf/util/ordered-events.c | |||
@@ -202,3 +202,14 @@ void ordered_events__init(struct ordered_events *oe) | |||
202 | oe->max_alloc_size = (u64) -1; | 202 | oe->max_alloc_size = (u64) -1; |
203 | oe->cur_alloc_size = 0; | 203 | oe->cur_alloc_size = 0; |
204 | } | 204 | } |
205 | |||
206 | void ordered_events__free(struct ordered_events *oe) | ||
207 | { | ||
208 | while (!list_empty(&oe->to_free)) { | ||
209 | struct ordered_event *event; | ||
210 | |||
211 | event = list_entry(oe->to_free.next, struct ordered_event, list); | ||
212 | list_del(&event->list); | ||
213 | free(event); | ||
214 | } | ||
215 | } | ||
diff --git a/tools/perf/util/ordered-events.h b/tools/perf/util/ordered-events.h index 62f9945319b6..6036bd657073 100644 --- a/tools/perf/util/ordered-events.h +++ b/tools/perf/util/ordered-events.h | |||
@@ -39,4 +39,5 @@ void ordered_events__delete(struct ordered_events *oe, struct ordered_event *eve | |||
39 | int ordered_events__flush(struct perf_session *s, struct perf_tool *tool, | 39 | int ordered_events__flush(struct perf_session *s, struct perf_tool *tool, |
40 | enum oe_flush how); | 40 | enum oe_flush how); |
41 | void ordered_events__init(struct ordered_events *oe); | 41 | void ordered_events__init(struct ordered_events *oe); |
42 | void ordered_events__free(struct ordered_events *oe); | ||
42 | #endif /* __ORDERED_EVENTS_H */ | 43 | #endif /* __ORDERED_EVENTS_H */ |
diff --git a/tools/perf/util/session.c b/tools/perf/util/session.c index 7f5851e433bb..7d8dbf213d64 100644 --- a/tools/perf/util/session.c +++ b/tools/perf/util/session.c | |||
@@ -442,19 +442,6 @@ static perf_event__swap_op perf_event__swap_ops[] = { | |||
442 | [PERF_RECORD_HEADER_MAX] = NULL, | 442 | [PERF_RECORD_HEADER_MAX] = NULL, |
443 | }; | 443 | }; |
444 | 444 | ||
445 | static void perf_session_free_sample_buffers(struct perf_session *session) | ||
446 | { | ||
447 | struct ordered_events *oe = &session->ordered_events; | ||
448 | |||
449 | while (!list_empty(&oe->to_free)) { | ||
450 | struct ordered_event *event; | ||
451 | |||
452 | event = list_entry(oe->to_free.next, struct ordered_event, list); | ||
453 | list_del(&event->list); | ||
454 | free(event); | ||
455 | } | ||
456 | } | ||
457 | |||
458 | /* | 445 | /* |
459 | * When perf record finishes a pass on every buffers, it records this pseudo | 446 | * When perf record finishes a pass on every buffers, it records this pseudo |
460 | * event. | 447 | * event. |
@@ -1092,7 +1079,7 @@ done: | |||
1092 | out_err: | 1079 | out_err: |
1093 | free(buf); | 1080 | free(buf); |
1094 | perf_session__warn_about_errors(session, tool); | 1081 | perf_session__warn_about_errors(session, tool); |
1095 | perf_session_free_sample_buffers(session); | 1082 | ordered_events__free(&session->ordered_events); |
1096 | return err; | 1083 | return err; |
1097 | } | 1084 | } |
1098 | 1085 | ||
@@ -1237,7 +1224,7 @@ out: | |||
1237 | out_err: | 1224 | out_err: |
1238 | ui_progress__finish(); | 1225 | ui_progress__finish(); |
1239 | perf_session__warn_about_errors(session, tool); | 1226 | perf_session__warn_about_errors(session, tool); |
1240 | perf_session_free_sample_buffers(session); | 1227 | ordered_events__free(&session->ordered_events); |
1241 | session->one_mmap = false; | 1228 | session->one_mmap = false; |
1242 | return err; | 1229 | return err; |
1243 | } | 1230 | } |