OSDN Git Service

perf machine: Set main kernel end address properly
authorNamhyung Kim <namhyung@kernel.org>
Mon, 19 Feb 2018 10:05:45 +0000 (19:05 +0900)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Mon, 23 Apr 2018 13:52:55 +0000 (10:52 -0300)
commitee05d21791db6db954bbb7b79bb18d88b5f6b7ff
treedf80db128b4870e48d21ab4e99100f448f88e8d8
parentc042f7e9bb6ad9429ea0f2c9138dc06413198967
perf machine: Set main kernel end address properly

map_groups__fixup_end() was called to set the end addresses of kernel
and module maps.  But now since machine__create_modules() sets the end
address of modules properly, the only remaining piece is the kernel map.

We can set it with adjacent module's address directly instead of calling
map_groups__fixup_end().  If there's no module after the kernel map, the
end address will be ~0ULL.

Since it also changes the start address of the kernel map, it needs to
re-insert the map to the kmaps in order to keep a correct ordering.  Kim
reported that it caused problems on ARM64.

Reported-by: Kim Phillips <kim.phillips@arm.com>
Tested-by: Kim Phillips <kim.phillips@arm.com>
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: kernel-team@lge.com
Link: http://lkml.kernel.org/r/20180419235915.GA19067@sejong
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/util/machine.c