mirror of
https://github.com/torvalds/linux.git
synced 2024-11-13 07:31:45 +00:00
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>
This commit is contained in:
parent
ad3d6f5087
commit
d4ae0a6f7c
@ -497,7 +497,7 @@ static int __cmd_report(struct perf_report *rep)
|
||||
ret = perf_session__cpu_bitmap(session, rep->cpu_list,
|
||||
rep->cpu_bitmap);
|
||||
if (ret)
|
||||
goto out_delete;
|
||||
return ret;
|
||||
}
|
||||
|
||||
if (use_browser <= 0)
|
||||
@ -508,11 +508,11 @@ static int __cmd_report(struct perf_report *rep)
|
||||
|
||||
ret = perf_report__setup_sample_type(rep);
|
||||
if (ret)
|
||||
goto out_delete;
|
||||
return ret;
|
||||
|
||||
ret = perf_session__process_events(session, &rep->tool);
|
||||
if (ret)
|
||||
goto out_delete;
|
||||
return ret;
|
||||
|
||||
kernel_map = session->machines.host.vmlinux_maps[MAP__FUNCTION];
|
||||
kernel_kmap = map__kmap(kernel_map);
|
||||
@ -547,7 +547,7 @@ static int __cmd_report(struct perf_report *rep)
|
||||
|
||||
if (dump_trace) {
|
||||
perf_session__fprintf_nr_events(session, stdout);
|
||||
goto out_delete;
|
||||
return 0;
|
||||
}
|
||||
|
||||
nr_samples = 0;
|
||||
@ -572,7 +572,7 @@ static int __cmd_report(struct perf_report *rep)
|
||||
|
||||
if (nr_samples == 0) {
|
||||
ui__error("The %s file has no samples!\n", session->filename);
|
||||
goto out_delete;
|
||||
return 0;
|
||||
}
|
||||
|
||||
list_for_each_entry(pos, &session->evlist->entries, node)
|
||||
@ -598,19 +598,6 @@ static int __cmd_report(struct perf_report *rep)
|
||||
} else
|
||||
perf_evlist__tty_browse_hists(session->evlist, rep, help);
|
||||
|
||||
out_delete:
|
||||
/*
|
||||
* 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;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user