perf thread: Make thread__find_symbol() return the symbol searched
tip-bot for Arnaldo Carvalho de Melo
merge botCommit-ID: d9a5f274603bea1c89d59baaf37eef8f57851a09 Gitweb: https://git.kernel.org/tip/d9a5f274603bea1c89d59baaf37eef8f57851a09 Author: Arnaldo Carvalho de Melo <[email protected]> AuthorDate: Tue, 24 Apr 2018 12:05:48 -0300 Committer: Arnaldo Carvalho de Melo <[email protected]> CommitDate: Thu, 26 Apr 2018 13:47:09 -0300
perf thread: Make thread__find_symbol() return the symbol searched
Instead of just returning it in al.sym, allowing for some simplification in its users, and to make it consistent with thread__find_map().
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/builtin-timechart.c | 7 ++----- tools/perf/util/event.c | 10 +++++----- tools/perf/util/thread.h | 8 ++++---- tools/perf/util/unwind-libunwind-local.c | 4 +--- 4 files changed, 12 insertions(+), 17 deletions(-)
tools/perf/builtin-timechart.c +2 -5
@@ -533,11 +533,8 @@ static const char *cat_backtrace(union perf_event *event, } tal.filtered =0 ; -thread__find_symbol (al.thread, cpumode, ip, &tal); - -if (tal.sym) -fprintf (f,"..... %016" PRIx64" %s\n" , ip, - tal.sym->name); +if (thread__find_symbol (al.thread, cpumode, ip, &tal)) +fprintf (f,"..... %016" PRIx64" %s\n" , ip, tal.sym->name);else fprintf (f,"..... %016" PRIx64"\n" , ip); }
tools/perf/util/event.c +5 -5
@@ -1566,14 +1566,14 @@ try_again:return al->map; } -void __thread__find_symbol (struct thread *thread,u8 cpumode, -enum map_type type,u64 addr, -struct addr_location *al) +struct symbol *__thread__find_symbol (struct thread *thread,u8 cpumode, +enum map_type type,u64 addr, +struct addr_location *al) { + al->sym =NULL ;if (__thread__find_map (thread, cpumode, type, addr, al)) al->sym =map__find_symbol (al->map, al->addr); -else - al->sym =NULL ; +return al->sym; }/*
tools/perf/util/thread.h +4 -4
@@ -101,11 +101,11 @@ static inline struct map *thread__find_map(struct thread *thread, u8 cpumode,return __thread__find_map (thread, cpumode,MAP__FUNCTION , addr, al); } -void __thread__find_symbol (struct thread *thread,u8 cpumode,enum map_type type, -u64 addr,struct addr_location *al); +struct symbol *__thread__find_symbol (struct thread *thread,u8 cpumode,enum map_type type, +u64 addr,struct addr_location *al); -static inline void thread__find_symbol (struct thread *thread,u8 cpumode, -u64 addr,struct addr_location *al) +static inline struct symbol *thread__find_symbol (struct thread *thread,u8 cpumode, +u64 addr,struct addr_location *al) {return __thread__find_symbol (thread, cpumode,MAP__FUNCTION , addr, al); }
tools/perf/util/unwind-libunwind-local.c +1 -3
@@ -584,11 +584,9 @@ static int entry(u64 ip, struct thread *thread,struct unwind_entry e;struct addr_location al; -thread__find_symbol (thread,PERF_RECORD_MISC_USER , ip, &al); - + e.sym =thread__find_symbol (thread,PERF_RECORD_MISC_USER , ip, &al); e.ip = al.addr; e.map = al.map; - e.sym = al.sym; pr_debug("unwind: %s:ip = 0x%" PRIx64 " (0x%" PRIx64 ")\n", al.sym ? al.sym->name : "''",