diff options
Diffstat (limited to 'tools/perf')
-rw-r--r-- | tools/perf/builtin-report.c | 23 |
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 | ||
601 | out_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 | ||