Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a335358f authored by Ingo Molnar's avatar Ingo Molnar
Browse files

Merge branch 'tip/perf/urgent' of...

Merge branch 'tip/perf/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace

 into perf/urgent

Pull an ftrace Kconfig help text fix from Steve Rostedt.

Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
parents ff1fb5f6 db05021d
Loading
Loading
Loading
Loading
+14 −10
Original line number Diff line number Diff line
@@ -429,24 +429,28 @@ config PROBE_EVENTS
	def_bool n

config DYNAMIC_FTRACE
	bool "enable/disable ftrace tracepoints dynamically"
	bool "enable/disable function tracing dynamically"
	depends on FUNCTION_TRACER
	depends on HAVE_DYNAMIC_FTRACE
	default y
	help
          This option will modify all the calls to ftrace dynamically
	  (will patch them out of the binary image and replace them
	  with a No-Op instruction) as they are called. A table is
	  created to dynamically enable them again.
	  This option will modify all the calls to function tracing
	  dynamically (will patch them out of the binary image and
	  replace them with a No-Op instruction) on boot up. During
	  compile time, a table is made of all the locations that ftrace
	  can function trace, and this table is linked into the kernel
	  image. When this is enabled, functions can be individually
	  enabled, and the functions not enabled will not affect
	  performance of the system.

	  See the files in /sys/kernel/debug/tracing:
	    available_filter_functions
	    set_ftrace_filter
	    set_ftrace_notrace

	  This way a CONFIG_FUNCTION_TRACER kernel is slightly larger, but
	  otherwise has native performance as long as no tracing is active.

	  The changes to the code are done by a kernel thread that
	  wakes up once a second and checks to see if any ftrace calls
	  were made. If so, it runs stop_machine (stops all CPUS)
	  and modifies the code to jump over the call to ftrace.

config DYNAMIC_FTRACE_WITH_REGS
	def_bool y
	depends on DYNAMIC_FTRACE