[062/105] perf: arm64: Record the user-mode PC in the call chain.

Message ID 1372445527-24414-63-git-send-email-kamal@canonical.com
State New
Headers show

Commit Message

Kamal Mostafa June 28, 2013, 6:51 p.m. -stable review patch.  If anyone has any objections, please let me know.


From: Jed Davis <jld@mozilla.com>

With this change, we no longer lose the innermost entry in the user-mode
part of the call chain.  See also the x86 port, which includes the ip,
and the corresponding change in arch/arm.

Signed-off-by: Jed Davis <jld@mozilla.com>
Acked-by: Ingo Molnar <mingo@kernel.org>
Acked-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
[ kamal: backport to 3.8 (context) ]
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
 arch/arm64/kernel/perf_event.c | 1 +
 1 file changed, 1 insertion(+)


diff --git a/arch/arm64/kernel/perf_event.c b/arch/arm64/kernel/perf_event.c
index f7073c7..0256b68 100644
--- a/arch/arm64/kernel/perf_event.c
+++ b/arch/arm64/kernel/perf_event.c
@@ -1331,6 +1331,7 @@  void perf_callchain_user(struct perf_callchain_entry *entry,
 	struct frame_tail __user *tail;
+	perf_callchain_store(entry, regs->pc);
 	tail = (struct frame_tail __user *)regs->regs[29];
 	while (entry->nr < PERF_MAX_STACK_DEPTH &&