OpenCloudOS-Kernel/tools/perf
Ming Lei d214afbd81 perf symbols: Figure out start address of kernel map from kallsyms
On ARM, module symbol start address is ahead of kernel symbol start address, so
we can't suppose that the start address of kernel map always is zero, otherwise
may cause incorrect .start and .end of kernel map (caused by fixup) when there
are modules loaded, then map_groups__find may return incorrect map for symbol
query.

This patch always figures out the start address of kernel map from
/proc/kallsyms if the file is available, so fix the issues on ARM for module
loaded case.

This patch fixes the following issues on ARM when modules are loaded:

	- vmlinux symbol can't be found by kallsyms maps doing 'perf test'
	- module symbols are parsed mistakenlly when doing 'perf top'/'perf report'

Cc: Ian Munsie <imunsie@au1.ibm.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Tom Zanussi <tzanussi@gmail.com>
LKML-Reference: <20101125192725.62d31b42@tom-lei>
Signed-off-by: Ming Lei <tom.leiming@gmail.com>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2010-11-30 14:47:58 -02:00
..
Documentation perf trace: update Documentation with new perf trace variants 2010-11-10 08:19:35 -06:00
arch Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2010-08-06 09:30:52 -07:00
bench perf options: Check v type in OPT_U?INTEGER 2010-05-17 15:43:38 -03:00
scripts perf trace scripting: remove system-wide param from shell scripts 2010-11-10 08:08:20 -06:00
util perf symbols: Figure out start address of kernel map from kallsyms 2010-11-30 14:47:58 -02:00
.gitignore perf tools: .gitignore += config.make config.make.autogen 2010-06-17 10:24:31 -03:00
CREDITS perf_counter tools: Add CREDITS file for Git contributors 2009-06-24 19:54:29 +02:00
MANIFEST perf tools: Make target to generate self contained source tarball 2010-06-05 09:33:35 -03:00
Makefile Merge branch 'perf/urgent' into perf/core 2010-10-05 09:47:14 +02:00
builtin-annotate.c perf tools: Add --tui and --stdio to choose the UI 2010-08-21 10:49:46 -03:00
builtin-bench.c perf options: Type check all the remaining OPT_ variants 2010-05-17 16:22:41 -03:00
builtin-buildid-cache.c perf buildid: add perfconfig option to specify buildid cache dir 2010-06-05 09:34:04 -03:00
builtin-buildid-list.c perf tools: Remove unneeded code for tracking the cwd in perf sessions 2010-07-27 11:46:12 -03:00
builtin-diff.c perf tools: Remove unneeded code for tracking the cwd in perf sessions 2010-07-27 11:46:12 -03:00
builtin-help.c perf options: Type check all the remaining OPT_ variants 2010-05-17 16:22:41 -03:00
builtin-inject.c perf inject: Add missing bits 2010-05-04 10:48:22 -03:00
builtin-kmem.c perf: add perf-inject builtin 2010-05-02 13:36:56 -03:00
builtin-kvm.c perf options: Type check all the remaining OPT_ variants 2010-05-17 16:22:41 -03:00
builtin-list.c perf list: Fix large list output by using the pager 2009-08-13 09:05:48 +02:00
builtin-lock.c perf options: Type check OPT_BOOLEAN and fix the offenders 2010-05-17 16:22:37 -03:00
builtin-probe.c perf probe: Add basic module support 2010-10-21 16:11:44 -02:00
builtin-record.c perf record: Handle restrictive permissions in /proc/{kallsyms,modules} 2010-11-22 14:01:55 -02:00
builtin-report.c perf: Rename append_callchain into callchain_append 2010-08-22 20:43:51 +02:00
builtin-sched.c perf: Use event__process_task from perf sched 2010-06-01 00:10:32 +02:00
builtin-stat.c perf tools: Add the ability to specify list of cpus to monitor 2010-06-05 09:33:01 -03:00
builtin-test.c perf options: Type check OPT_BOOLEAN and fix the offenders 2010-05-17 16:22:37 -03:00
builtin-timechart.c perf timechart: Adjust confusing if indentation 2010-08-05 19:38:02 -03:00
builtin-top.c perf: Fix usages of profile_cpu in builtin-top.c to use cpu_list 2010-11-10 09:16:12 +01:00
builtin-trace.c perf trace: update usage 2010-11-10 08:20:45 -06:00
builtin.h perf: add perf-inject builtin 2010-05-02 13:36:56 -03:00
command-list.txt perf inject: Add missing bits 2010-05-04 10:48:22 -03:00
design.txt perf: Fix few typos + cosmetics 2010-01-13 17:39:44 +01:00
feature-tests.mak Merge branch 'linus' into perf/core 2010-08-25 13:10:00 +02:00
perf-archive.sh perf buildid: add perfconfig option to specify buildid cache dir 2010-06-05 09:34:04 -03:00
perf.c perf buildid: add perfconfig option to specify buildid cache dir 2010-06-05 09:34:04 -03:00
perf.h perf, MIPS: Support cross compiling of tools/perf for MIPS 2010-10-12 13:34:37 +02:00