Messages in this thread Patch in this message | | | From | Namhyung Kim <> | Subject | [PATCH 2/6] perf tools: Set kernel data mapping length | Date | Wed, 7 Nov 2012 16:27:10 +0900 |
| |
From: Namhyung Kim <namhyung.kim@lge.com>
Currently only text (function) mapping was set, so that the kernel data addresses couldn't parsed correctly. Fix it.
Cc: Stephane Eranian <eranian@google.com> Signed-off-by: Namhyung Kim <namhyung@kernel.org> --- tools/perf/util/machine.c | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-)
diff --git a/tools/perf/util/machine.c b/tools/perf/util/machine.c index 34d8dfeaa2b2..fc471704af12 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, static void machine__set_kernel_mmap_len(struct machine *machine, union perf_event *event) { - machine->vmlinux_maps[MAP__FUNCTION]->start = event->mmap.start; - machine->vmlinux_maps[MAP__FUNCTION]->end = (event->mmap.start + - event->mmap.len); - /* - * Be a bit paranoid here, some perf.data file came with - * a zero sized synthesized MMAP event for the kernel. - */ - if (machine->vmlinux_maps[MAP__FUNCTION]->end == 0) - machine->vmlinux_maps[MAP__FUNCTION]->end = ~0ULL; + int i; + + for (i = 0; i < MAP__NR_TYPES; i++) { + machine->vmlinux_maps[i]->start = event->mmap.start; + machine->vmlinux_maps[i]->end = (event->mmap.start + + event->mmap.len); + /* + * Be a bit paranoid here, some perf.data file came with + * a zero sized synthesized MMAP event for the kernel. + */ + if (machine->vmlinux_maps[i]->end == 0) + machine->vmlinux_maps[i]->end = ~0ULL; + } } static int machine__process_kernel_mmap_event(struct machine *machine, -- 1.7.11.7
| |