linux/arch
Frederic Weisbecker 48b5ba9cc9 perf: Pass appropriate frame pointer to dump_trace()
Pass the frame pointer from the regs of the interrupted path
to dump_trace() while processing the stack trace.

Currently, dump_trace() takes the current bp and starts the
callchain from dump_trace() itself. This is wasteful because
we need to walk through the entire NMI/DEBUG stack before
retrieving the interrupted point.

We can fix that by just using the frame pointer from the
captured regs. It points exactly where we want to start.

Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Paul Mackerras <paulus@samba.org>
LKML-Reference: <1262235183-5320-1-git-send-regression-fweisbec@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Paul Mackerras <paulus@samba.org>
2009-12-31 13:11:31 +01:00
..
alpha elf: kill USE_ELF_CORE_DUMP 2009-12-16 07:20:12 -08:00
arm Merge branch 'module' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus 2009-12-16 10:47:24 -08:00
avr32 elf: kill USE_ELF_CORE_DUMP 2009-12-16 07:20:12 -08:00
blackfin Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vapier/blackfin 2009-12-16 10:52:35 -08:00
cris elf: kill USE_ELF_CORE_DUMP 2009-12-16 07:20:12 -08:00
frv elf: kill USE_ELF_CORE_DUMP 2009-12-16 07:20:12 -08:00
h8300 Merge branch 'module' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus 2009-12-16 10:47:24 -08:00
ia64 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 2009-12-16 12:04:02 -08:00
m32r elf: kill USE_ELF_CORE_DUMP 2009-12-16 07:20:12 -08:00
m68k elf: kill USE_ELF_CORE_DUMP 2009-12-16 07:20:12 -08:00
m68knommu Unify sys_mmap* 2009-12-11 06:44:29 -05:00
microblaze elf: kill USE_ELF_CORE_DUMP 2009-12-16 07:20:12 -08:00
mips elf: kill USE_ELF_CORE_DUMP 2009-12-16 07:20:12 -08:00
mn10300 elf: kill USE_ELF_CORE_DUMP 2009-12-16 07:20:12 -08:00
parisc Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 2009-12-16 12:04:02 -08:00
powerpc Merge branch 'next' of git://git.secretlab.ca/git/linux-2.6 2009-12-16 13:26:53 -08:00
s390 elf: kill USE_ELF_CORE_DUMP 2009-12-16 07:20:12 -08:00
score elf: kill USE_ELF_CORE_DUMP 2009-12-16 07:20:12 -08:00
sh Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 2009-12-16 10:29:52 -08:00
sparc Merge branch 'module' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus 2009-12-16 10:47:24 -08:00
um elf: kill USE_ELF_CORE_DUMP 2009-12-16 07:20:12 -08:00
x86 perf: Pass appropriate frame pointer to dump_trace() 2009-12-31 13:11:31 +01:00
xtensa Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 2009-12-16 12:04:02 -08:00
.gitignore
Kconfig hw-breakpoints: Fix hardware breakpoints -> perf events dependency 2009-12-18 13:11:51 +01:00