perf tools: Fix missing kernel map load

thread__find_addr_map() falls back to trying the kernel maps if the
address is negative and is not found in userspace maps.  As commented in
the code, the kernel maps must be "loaded" before use.  This patch
ensures that happens under the fallback condition also.

Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Namhyung Kim <namhyung@gmail.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/r/1405332185-4050-8-git-send-email-adrian.hunter@intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
Adrian Hunter 2014-07-14 13:02:31 +03:00 committed by Arnaldo Carvalho de Melo
parent 39e09d40be
commit 1f2a7069b6

View file

@ -788,6 +788,7 @@ void thread__find_addr_map(struct thread *thread,
cpumode == PERF_RECORD_MISC_USER &&
machine && mg != &machine->kmaps) {
mg = &machine->kmaps;
load_map = true;
goto try_again;
}
} else {