aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/builtin-report.c
diff options
context:
space:
mode:
authorJiri Olsa <jolsa@redhat.com>2013-06-25 07:54:13 -0400
committerArnaldo Carvalho de Melo <acme@redhat.com>2013-07-12 12:46:07 -0400
commitd4ae0a6f7c79be64c8f3551dd149189f8c4480eb (patch)
tree319b5b185e7f07f5140ee09f21f8b6f70193a841 /tools/perf/builtin-report.c
parentad3d6f508738323c0e843c4dbdd421c1aeb59cd8 (diff)
perf report: Fix perf_session__delete removal
There's no point of having out_delete label with perf_session__delete call within __cmd_report function, because it's called at the end of the cmd_report function. The speed up due to commenting out the perf_session__delete at the end does not seem relevant anymore. Measured speedup for ~1GB data file with 222466 FORKS events is around 0.5%. $ perf report -i perf.data.delete -P perf_session__delete -s parent + 99.51% [other] + 0.49% perf_session__delete Signed-off-by: Jiri Olsa <jolsa@redhat.com> Cc: Andi Kleen <ak@linux.intel.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@elte.hu> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Paul Mackerras <paulus@samba.org> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: Stephane Eranian <eranian@google.com> Link: http://lkml.kernel.org/r/1372161253-22081-6-git-send-email-jolsa@redhat.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/builtin-report.c')
-rw-r--r--tools/perf/builtin-report.c23
1 files changed, 5 insertions, 18 deletions
diff --git a/tools/perf/builtin-report.c b/tools/perf/builtin-report.c
index 6ab49dafef25..ee2ca3eb22df 100644
--- a/tools/perf/builtin-report.c
+++ b/tools/perf/builtin-report.c
@@ -497,7 +497,7 @@ static int __cmd_report(struct perf_report *rep)
497 ret = perf_session__cpu_bitmap(session, rep->cpu_list, 497 ret = perf_session__cpu_bitmap(session, rep->cpu_list,
498 rep->cpu_bitmap); 498 rep->cpu_bitmap);
499 if (ret) 499 if (ret)
500 goto out_delete; 500 return ret;
501 } 501 }
502 502
503 if (use_browser <= 0) 503 if (use_browser <= 0)
@@ -508,11 +508,11 @@ static int __cmd_report(struct perf_report *rep)
508 508
509 ret = perf_report__setup_sample_type(rep); 509 ret = perf_report__setup_sample_type(rep);
510 if (ret) 510 if (ret)
511 goto out_delete; 511 return ret;
512 512
513 ret = perf_session__process_events(session, &rep->tool); 513 ret = perf_session__process_events(session, &rep->tool);
514 if (ret) 514 if (ret)
515 goto out_delete; 515 return ret;
516 516
517 kernel_map = session->machines.host.vmlinux_maps[MAP__FUNCTION]; 517 kernel_map = session->machines.host.vmlinux_maps[MAP__FUNCTION];
518 kernel_kmap = map__kmap(kernel_map); 518 kernel_kmap = map__kmap(kernel_map);
@@ -547,7 +547,7 @@ static int __cmd_report(struct perf_report *rep)
547 547
548 if (dump_trace) { 548 if (dump_trace) {
549 perf_session__fprintf_nr_events(session, stdout); 549 perf_session__fprintf_nr_events(session, stdout);
550 goto out_delete; 550 return 0;
551 } 551 }
552 552
553 nr_samples = 0; 553 nr_samples = 0;
@@ -572,7 +572,7 @@ static int __cmd_report(struct perf_report *rep)
572 572
573 if (nr_samples == 0) { 573 if (nr_samples == 0) {
574 ui__error("The %s file has no samples!\n", session->filename); 574 ui__error("The %s file has no samples!\n", session->filename);
575 goto out_delete; 575 return 0;
576 } 576 }
577 577
578 list_for_each_entry(pos, &session->evlist->entries, node) 578 list_for_each_entry(pos, &session->evlist->entries, node)
@@ -598,19 +598,6 @@ static int __cmd_report(struct perf_report *rep)
598 } else 598 } else
599 perf_evlist__tty_browse_hists(session->evlist, rep, help); 599 perf_evlist__tty_browse_hists(session->evlist, rep, help);
600 600
601out_delete:
602 /*
603 * Speed up the exit process, for large files this can
604 * take quite a while.
605 *
606 * XXX Enable this when using valgrind or if we ever
607 * librarize this command.
608 *
609 * Also experiment with obstacks to see how much speed
610 * up we'll get here.
611 *
612 * perf_session__delete(session);
613 */
614 return ret; 601 return ret;
615} 602}
616 603