diff options
-rw-r--r-- | tools/perf/util/machine.c | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/tools/perf/util/machine.c b/tools/perf/util/machine.c index 502eec0d477..4c6754ac6b2 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, | |||
84 | static void machine__set_kernel_mmap_len(struct machine *machine, | 84 | static 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 | ||
98 | static int machine__process_kernel_mmap_event(struct machine *machine, | 102 | static int machine__process_kernel_mmap_event(struct machine *machine, |