perf: Pass appropriate frame pointer to dump_trace()
authorFrederic Weisbecker <fweisbec@gmail.com>
Thu, 31 Dec 2009 04:53:02 +0000 (05:53 +0100)
committerIngo Molnar <mingo@elte.hu>
Thu, 31 Dec 2009 12:11:31 +0000 (13:11 +0100)
commit48b5ba9cc98d676712da29d9931f1c88e5185ff2
tree6961114f04455c1da1d32212d6258bc75f362bfd
parent4efb5290ae187514bd31af8c2d7755e175245e19
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>
arch/x86/kernel/cpu/perf_event.c