2010-08-06 17:07:32

by Arnaldo Carvalho de Melo

[permalink] [raw]
Subject: [tip:perf/core] perf report: Speed up exit path

Commit-ID: 71e7cf3a37ba6189fa7215555e8e760b400fc23b
Gitweb: http://git.kernel.org/tip/71e7cf3a37ba6189fa7215555e8e760b400fc23b
Author: Arnaldo Carvalho de Melo <[email protected]>
AuthorDate: Thu, 5 Aug 2010 19:41:44 -0300
Committer: Arnaldo Carvalho de Melo <[email protected]>
CommitDate: Thu, 5 Aug 2010 19:46:47 -0300

perf report: Speed up exit path

When cmd_record exits the whole perf binary will exit right after,
so no need to traverse lots of complex data structures freeing them.

Sticked a comment for leak detectives and for a experiment with obstacks
to be performed so that we can speed up freeing that memory.

Cc: Frederic Weisbecker <[email protected]>
Cc: Mike Galbraith <[email protected]>
Cc: Nick Piggin <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Stephane Eranian <[email protected]>
LKML-Reference: <new-submission>
Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
---
tools/perf/builtin-report.c | 13 ++++++++++++-
1 files changed, 12 insertions(+), 1 deletions(-)

diff --git a/tools/perf/builtin-report.c b/tools/perf/builtin-report.c
index 4a7a743..55fc1f4 100644
--- a/tools/perf/builtin-report.c
+++ b/tools/perf/builtin-report.c
@@ -348,7 +348,18 @@ static int __cmd_report(void)
hists__tty_browse_tree(&session->hists_tree, help);

out_delete:
- perf_session__delete(session);
+ /*
+ * Speed up the exit process, for large files this can
+ * take quite a while.
+ *
+ * XXX Enable this when using valgrind or if we ever
+ * librarize this command.
+ *
+ * Also experiment with obstacks to see how much speed
+ * up we'll get here.
+ *
+ * perf_session__delete(session);
+ */
return ret;
}