[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v6 13/24] x86, xsplice: Print payload's symbol name and payload name in backtraces



On 07/04/16 04:49, Konrad Rzeszutek Wilk wrote:
> From: Ross Lagerwall <ross.lagerwall@xxxxxxxxxx>
>
> Naturally the backtrace is presented when an instruction
> hits an bug_frame or %p is used.
>
> The payloads do not support bug_frames yet - however the functions
> the payloads call could hit an BUG() or WARN().
>
> The traps.c has logic to scan for it this - and eventually it will
> find the correct bug_frame and the walk the stack using %p to print
> the backtrace. For %p and symbols to print a string -  the
> 'is_active_kernel_text' is consulted which uses an 'struct virtual_region'.
>
> Therefore we register our start->end addresses so that
> 'is_active_kernel_text' will include our payload address.
>
> We also register our symbol lookup table function so that it can
> scan the list of payloads and retrieve the correct name.
>
> Lastly we change vsprintf to take into account s and namebuf.
> For core code they are the same, but for payloads they are different.
> This gets us:
>
> Xen call trace:
>    [<ffff82d080a00041>] revert_hook+0x31/0x35 [xen_hello_world]
>    [<ffff82d0801431bd>] xsplice.c#revert_payload+0x86/0xc6
>    [<ffff82d080143502>] check_for_xsplice_work+0x233/0x3cd
>    [<ffff82d08017a0b2>] domain.c#continue_idle_domain+0x9/0x1f
>
> Which is great if payloads have similar or same symbol names.
>
> Signed-off-by: Ross Lagerwall <ross.lagerwall@xxxxxxxxxx>
> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>

Reviewed-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.