Re: [PATCH v3 39/51] x86/dumpstack: convert show_trace_log_lvl() to use the new unwinder

From: Andy Lutomirski
Date: Sun Aug 14 2016 - 04:45:49 EST


On Fri, Aug 12, 2016 at 7:28 AM, Josh Poimboeuf <jpoimboe@xxxxxxxxxx> wrote:
> Convert show_trace_log_lvl() to use the new unwinder. dump_trace() has
> been deprecated.

>
> Another change here is that callers of show_trace_log_lvl() don't need
> to provide the 'bp' argument. The unwinder already finds the relevant
> frame pointer by unwinding until it reaches the first frame after the
> provided stack pointer.

I still think that the best long-term solution is to change the sp and
bp arguments to an optional state argument and to add a helper to
capture the current state for future unwinding, but this is okay too.
(If nothing else, this may improve DWARF's ability to recover function
arguments and such that are available when the trace is requested but
that are gone by the time the unwinder runs. But mainly because it
seems simpler and more direct to me and therefore seems like it will
be less likely to get confused and skip too many frames.)

But I'm okay with this for now.

--Andy