Re: [PATCH v10 02/11] arm64: Make perf_callchain_kernel() use arch_stack_walk()

Mark Brown
2021-10-20T14:59:42Z

[-- Attachment #1: Type: text/plain, Size: 905 bytes --]

On Thu, Oct 14, 2021 at 09:58:38PM -0500, madvenka@linux.microsoft.com wrote:
> From: "Madhavan T. Venkataraman" <madvenka@linux.microsoft.com>
>
> Currently, perf_callchain_kernel() in ARM64 code walks the stack using
> start_backtrace() and walk_stackframe(). Make it use arch_stack_walk()
> instead. This makes maintenance easier.

> static bool callchain_trace(void *data, unsigned long pc)
> {
> struct perf_callchain_entry_ctx *entry = data;
> - perf_callchain_store(entry, pc);
> - return true;
> + return perf_callchain_store(entry, pc) == 0;
> }

This changes us from unconditionally doing the whole walk to returning
an error if perf_callchain_store() returns an error so it's not quite a
straight transform, though since that seems like a useful improvement
which most likely on't have any practical impact that's fine.

Reviewed-by: Mark Brown <broonie@kernel.org>

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]