]> git.baikalelectronics.ru Git - kernel.git/commit
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)
commit85f9f73a65ee012af1dbd99bbed88ddb8d578900
treebb714da0d84b0971310fac02da4ee87581d55c50
parent9a62ac48d15d55b68ac35bd0da3dbd622a6265e1
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