[PATCH] ftrace: Be more specific about arch impact when function tracer is enabled

Sascha Hauer sha at pengutronix.de
Mon Jul 11 03:58:40 PDT 2022


On Wed, Jul 06, 2022 at 04:12:31PM -0400, Steven Rostedt wrote:
> From: Steven Rostedt (Google) <rostedt at goodmis.org>
> 
> It was brought up that on ARMv7, that because the FUNCTION_TRACER does not
> use nops to keep function tracing disabled because of the use of a link
> register, it does have some performance impact.
> 
> The start of functions when -pg is used to compile the kernel is:
> 
> 	push    {lr}
> 	bl      8010e7c0 <__gnu_mcount_nc>
> 
> When function tracing is tuned off, it becomes:
> 
> 	push    {lr}
> 	add   sp, sp, #4
> 
> Which just puts the stack back to its normal location. But these two
> instructions at the start of every function does incur some overhead.
> 
> Be more honest in the Kconfig FUNCTION_TRACER description and specify that
> the overhead being in the noise was x86 specific, but other architectures
> may vary.
> 
> Link: https://lore.kernel.org/all/20220705105416.GE5208@pengutronix.de/
> 
> Reported-by: Sascha Hauer <sha at pengutronix.de>
> Signed-off-by: Steven Rostedt (Google) <rostedt at goodmis.org>
> ---

Thanks Steven

Acked-by: Sascha Hauer <s.hauer at pengutronix.de>

Sascha

> diff --git a/kernel/trace/Kconfig b/kernel/trace/Kconfig
> index debbbb083286..ccd6a5ade3e9 100644
> --- a/kernel/trace/Kconfig
> +++ b/kernel/trace/Kconfig
> @@ -194,7 +194,8 @@ config FUNCTION_TRACER
>  	  sequence is then dynamically patched into a tracer call when
>  	  tracing is enabled by the administrator. If it's runtime disabled
>  	  (the bootup default), then the overhead of the instructions is very
> -	  small and not measurable even in micro-benchmarks.
> +	  small and not measurable even in micro-benchmarks (at least on
> +	  x86, but may have impact on other architectures).
>  
>  config FUNCTION_GRAPH_TRACER
>  	bool "Kernel Function Graph Tracer"
> 

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



More information about the linux-arm-kernel mailing list