OSDN Git Service

ftrace: Be more specific about arch impact when function tracer is enabled
authorSteven Rostedt (Google) <rostedt@goodmis.org>
Wed, 6 Jul 2022 20:12:31 +0000 (16:12 -0400)
committerSteven Rostedt (Google) <rostedt@goodmis.org>
Tue, 12 Jul 2022 20:36:34 +0000 (16:36 -0400)
commit0a6d7d45414a77876e8e9a77e454af754cea3a60
treebb714da0d84b0971310fac02da4ee87581d55c50
parent495fcec8648cdfb483b5b9ab310f3839f07cb3b8
ftrace: Be more specific about arch impact when function tracer is enabled

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/
Link: https://lkml.kernel.org/r/20220706161231.085a83da@gandalf.local.home
Reported-by: Sascha Hauer <sha@pengutronix.de>
Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
kernel/trace/Kconfig