perf disassemble: Move check for kallsyms + !kcore
tip-bot for Arnaldo Carvalho de Melo
merge botCommit-ID: c12944f7faa7f76441d83c1413f13e8bc70162b2 Gitweb: http://git.kernel.org/tip/c12944f7faa7f76441d83c1413f13e8bc70162b2 Author: Arnaldo Carvalho de Melo <[email protected]> AuthorDate: Tue, 9 Aug 2016 14:56:13 -0300 Committer: Arnaldo Carvalho de Melo <[email protected]> CommitDate: Tue, 23 Aug 2016 15:37:33 -0300
perf disassemble: Move check for kallsyms + !kcore
We don't need to do all that filename logic to then just have to test something unrelated and bail out, move it to the start of the function.
Cc Adrian Hunter <[email protected]>
Cc David Ahern <[email protected]>
Cc Jiri Olsa <[email protected]>
Cc Namhyung Kim <[email protected]>
Cc Wang Nan <[email protected]>
Signed-off-by Arnaldo Carvalho de Melo <[email protected]>
--- tools/perf/util/annotate.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-)
tools/perf/util/annotate.c +8 -8
@@ -1165,11 +1165,10 @@ int symbol__strerror_disassemble(struct symbol *sym __maybe_unused, struct map *int symbol__disassemble (struct symbol *sym,struct map *map,size_t privsize) {struct dso *dso = map->dso; -char *filename =dso__build_id_filename (dso,NULL ,0 ); +char *filename;bool free_filename = true;char command[PATH_MAX *2 ];FILE *file; -int err =0 ;char symfs_filename[PATH_MAX ];struct kcore_extract kce;bool delete_extract = false;
@@ -1177,7 +1176,13 @@ int symbol__disassemble(struct symbol *sym, struct map *map, size_t privsize)int lineno =0 ;int nline;pid_t pid; +int err =SYMBOL_ANNOTATE_ERRNO__NO_VMLINUX ; + +if (dso->symtab_type ==DSO_BINARY_TYPE__KALLSYMS && + !dso__is_kcore (dso)) + goto out; + filename =dso__build_id_filename (dso,NULL ,0 );if (filename)symbol__join_symfs (symfs_filename, filename);
@@ -1201,12 +1206,6 @@ fallback: free_filename = false; } -if (dso->symtab_type ==DSO_BINARY_TYPE__KALLSYMS && - !dso__is_kcore (dso)) { - err =SYMBOL_ANNOTATE_ERRNO__NO_VMLINUX ; - goto out_free_filename; - } -pr_debug ("%s: filename=%s, sym=%s, start=%#" PRIx64", end=%#" PRIx64"\n" , __func__, filename, sym->name, map->unmap_ip (map, sym->start), map->unmap_ip (map, sym->end));
@@ -1338,6 +1337,7 @@ out_free_filename:kcore_extract__delete (&kce);if (free_filename)free (filename); +out:return err; out_close_stdout: