[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20220711105840.GH29790@pengutronix.de>
Date: Mon, 11 Jul 2022 12:58:40 +0200
From: Sascha Hauer <sha@...gutronix.de>
To: Steven Rostedt <rostedt@...dmis.org>
Cc: LKML <linux-kernel@...r.kernel.org>,
Ingo Molnar <mingo@...nel.org>,
Andrew Morton <akpm@...ux-foundation.org>,
linux-arm-kernel@...ts.infradead.org
Subject: Re: [PATCH] ftrace: Be more specific about arch impact when function
tracer is enabled
On Wed, Jul 06, 2022 at 04:12:31PM -0400, Steven Rostedt wrote:
> From: Steven Rostedt (Google) <rostedt@...dmis.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@...gutronix.de>
> Signed-off-by: Steven Rostedt (Google) <rostedt@...dmis.org>
> ---
Thanks Steven
Acked-by: Sascha Hauer <s.hauer@...gutronix.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 |
Powered by blists - more mailing lists