aboutsummaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorNamhyung Kim <namhyung.kim@lge.com>2012-11-07 02:27:10 -0500
committerArnaldo Carvalho de Melo <acme@redhat.com>2012-11-08 09:56:16 -0500
commit4552cf0f774ae3d24bf31e91324586274a552a66 (patch)
tree9d49d0579b6ef25b62dfe1ea08b8d80b02c4bf65 /tools
parent8dfec403e39b7c37fd6e8813bacc01da1e1210ab (diff)
perf machine: Set kernel data mapping length
Currently only text (function) mapping was set, so that the kernel data addresses couldn't parsed correctly. Fix it. Signed-off-by: Namhyung Kim <namhyung@kernel.org> Cc: Andi Kleen <ak@linux.intel.com> Cc: Ingo Molnar <mingo@kernel.org> Cc: Paul Mackerras <paulus@samba.org> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: Stephane Eranian <eranian@google.com> Link: http://lkml.kernel.org/r/1352273234-28912-3-git-send-email-namhyung@kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools')
-rw-r--r--tools/perf/util/machine.c22
1 files changed, 13 insertions, 9 deletions
diff --git a/tools/perf/util/machine.c b/tools/perf/util/machine.c
index 502eec0d4773..4c6754ac6b20 100644
--- a/tools/perf/util/machine.c
+++ b/tools/perf/util/machine.c
@@ -84,15 +84,19 @@ int machine__process_lost_event(struct machine *machine __maybe_unused,
84static void machine__set_kernel_mmap_len(struct machine *machine, 84static void machine__set_kernel_mmap_len(struct machine *machine,
85 union perf_event *event) 85 union perf_event *event)
86{ 86{
87 machine->vmlinux_maps[MAP__FUNCTION]->start = event->mmap.start; 87 int i;
88 machine->vmlinux_maps[MAP__FUNCTION]->end = (event->mmap.start + 88
89 event->mmap.len); 89 for (i = 0; i < MAP__NR_TYPES; i++) {
90 /* 90 machine->vmlinux_maps[i]->start = event->mmap.start;
91 * Be a bit paranoid here, some perf.data file came with 91 machine->vmlinux_maps[i]->end = (event->mmap.start +
92 * a zero sized synthesized MMAP event for the kernel. 92 event->mmap.len);
93 */ 93 /*
94 if (machine->vmlinux_maps[MAP__FUNCTION]->end == 0) 94 * Be a bit paranoid here, some perf.data file came with
95 machine->vmlinux_maps[MAP__FUNCTION]->end = ~0ULL; 95 * a zero sized synthesized MMAP event for the kernel.
96 */
97 if (machine->vmlinux_maps[i]->end == 0)
98 machine->vmlinux_maps[i]->end = ~0ULL;
99 }
96} 100}
97 101
98static int machine__process_kernel_mmap_event(struct machine *machine, 102static int machine__process_kernel_mmap_event(struct machine *machine,