perf: arm64: Record the user-mode PC in the call chain.
authorJed Davis <jld@mozilla.com>
Thu, 20 Jun 2013 03:07:14 +0000 (04:07 +0100)
committerCatalin Marinas <catalin.marinas@arm.com>
Thu, 20 Jun 2013 09:16:39 +0000 (10:16 +0100)
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>
Cc: stable@vger.kernel.org
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
arch/arm64/kernel/perf_event.c

index 1e49e5eb81e977fe44fccc369be1974617680cac..9ba33c40cdf8f841e974f68e599f0f97e87138ff 100644 (file)
@@ -1336,6 +1336,7 @@ void perf_callchain_user(struct perf_callchain_entry *entry,
                return;
        }
 
+       perf_callchain_store(entry, regs->pc);
        tail = (struct frame_tail __user *)regs->regs[29];
 
        while (entry->nr < PERF_MAX_STACK_DEPTH &&