Re: [PATCH v3 7/8] powerpc/ftrace: Add support for -mprofile-kernel ftrace ABI

From: Balbir Singh
Date: Thu Mar 03 2016 - 20:58:17 EST




On 03/03/16 15:26, Michael Ellerman wrote:
> From: Torsten Duwe <duwe@xxxxxxx>
>
> The gcc switch -mprofile-kernel defines a new ABI for calling _mcount()
> very early in the function with minimal overhead.
>
> Although mprofile-kernel has been available since GCC 3.4, there were
> bugs which were only fixed recently. Currently it is known to work in
> GCC 4.9, 5 and 6.
>
> Additionally there are two possible code sequences generated by the
> flag, the first uses mflr/std/bl and the second is optimised to omit the
> std. Currently only gcc 6 has the optimised sequence. This patch
> supports both sequences.
>
> Initial work started by Vojtech Pavlik, used with permission.
>
> Key changes:
> - rework _mcount() to work for both the old and new ABIs.
> - implement new versions of ftrace_caller() and ftrace_graph_caller()
> which deal with the new ABI.
> - updates to __ftrace_make_nop() to recognise the new mcount calling
> sequence.
> - updates to __ftrace_make_call() to recognise the nop'ed sequence.
> - implement ftrace_modify_call().
> - updates to the module loader to surpress the toc save in the module
> stub when calling mcount with the new ABI.
>
> Signed-off-by: Torsten Duwe <duwe@xxxxxxx>
> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
> ---
>
Reviewed-by: Balbir Singh <bsingharora@xxxxxxxxx>