summaryrefslogtreecommitdiff
path: root/tools/perf
diff options
context:
space:
mode:
authorJiri Olsa <jolsa@redhat.com>2012-02-05 18:11:05 +0100
committerArnaldo Carvalho de Melo <acme@redhat.com>2012-02-06 18:57:39 -0200
commitbf32c9ebc9890764c7a9984e3a0c8a57a059753d (patch)
treebdaa97b163af50cd43adca1f0c4a9ca316d4b436 /tools/perf
parent7a0153ee15575a4d07b5da8c96b79e0b0fd41a12 (diff)
downloadlinux-3.10-bf32c9ebc9890764c7a9984e3a0c8a57a059753d.tar.gz
linux-3.10-bf32c9ebc9890764c7a9984e3a0c8a57a059753d.tar.bz2
linux-3.10-bf32c9ebc9890764c7a9984e3a0c8a57a059753d.zip
perf tools: Fix prefix matching for kernel maps
In some perf ancient versions we used '[kernel.kallsyms._text]' as the name for the kernel map. This got changed with commit: perf: 'perf kvm' tool for monitoring guest performance from host commit a1645ce12adb6c9cc9e19d7695466204e3f017fe Author: Zhang, Yanmin <yanmin_zhang@linux.intel.com> and we started to use following name '[kernel.kallsyms]_text'. This name change is important for the report code dealing with ancient perf data. When processing the kernel map event, we need to recognize the old naming (dont match the last ']') and initialize the kernel map correctly. The subsequent call to maps__set_kallsyms_ref_reloc_sym deals with the superfluous ']' to get correct symbol name. Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com> Cc: Ingo Molnar <mingo@elte.hu> Cc: Paul Mackerras <paulus@samba.org> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Link: http://lkml.kernel.org/r/1328461865-6127-1-git-send-email-jolsa@redhat.com Signed-off-by: Jiri Olsa <jolsa@redhat.com> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf')
-rw-r--r--tools/perf/util/event.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/tools/perf/util/event.c b/tools/perf/util/event.c
index 73ddaf06b8e..2044324b755 100644
--- a/tools/perf/util/event.c
+++ b/tools/perf/util/event.c
@@ -554,7 +554,7 @@ static int perf_event__process_kernel_mmap(struct perf_tool *tool __used,
is_kernel_mmap = memcmp(event->mmap.filename,
kmmap_prefix,
- strlen(kmmap_prefix)) == 0;
+ strlen(kmmap_prefix) - 1) == 0;
if (event->mmap.filename[0] == '/' ||
(!is_kernel_mmap && event->mmap.filename[0] == '[')) {