Explorar o código

perf report: Use kernel_maps__find_symbol as fallback to find vdsos, etc

In resolve_symbol, as we're moving to breaking the kernel symbols
list per address ranges, i.e. kernel linking sections, so that we
don't have a big kernel_map that in its range covers what is in the
modules.

Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Frédéric Weisbecker <fweisbec@gmail.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Mike Galbraith <efault@gmx.de>
LKML-Reference: <new-submission>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Arnaldo Carvalho de Melo %!s(int64=15) %!d(string=hai) anos
pai
achega
c3b32fcbc7
Modificáronse 1 ficheiros con 2 adicións e 5 borrados
  1. 2 5
      tools/perf/builtin-report.c

+ 2 - 5
tools/perf/builtin-report.c

@@ -384,11 +384,8 @@ got_map:
 		 * the "[vdso]" dso, but for now lets use the old
 		 * trick of looking in the whole kernel symbol list.
 		 */
-		if ((long long)ip < 0) {
-			map = kernel_map;
-			if (mapp)
-				*mapp = map;
-		}
+		if ((long long)ip < 0)
+			return kernel_maps__find_symbol(ip, mapp);
 	}
 	dump_printf(" ...... dso: %s\n",
 		    map ? map->dso->long_name : "<not found>");