ftrace: add basic support for gcc profiler instrumentation
commit16444a8a40d4c7b4f6de34af0cae1f76a4f6c901
authorArnaldo Carvalho de Melo <acme@ghostprotocols.net>
Mon, 12 May 2008 19:20:42 +0000 (12 21:20 +0200)
committerThomas Gleixner <tglx@linutronix.de>
Fri, 23 May 2008 18:31:58 +0000 (23 20:31 +0200)
tree9c290bcdbdc1ecf8f578c30b3b36914e14fdaacc
parent6e766410c4babd37bc7cd5e25009c179781742c8
ftrace: add basic support for gcc profiler instrumentation

If CONFIG_FTRACE is selected and /proc/sys/kernel/ftrace_enabled is
set to a non-zero value the ftrace routine will be called everytime
we enter a kernel function that is not marked with the "notrace"
attribute.

The ftrace routine will then call a registered function if a function
happens to be registered.

[ This code has been highly hacked by Steven Rostedt and Ingo Molnar,
  so don't blame Arnaldo for all of this ;-) ]

Update:
  It is now possible to register more than one ftrace function.
  If only one ftrace function is registered, that will be the
  function that ftrace calls directly. If more than one function
  is registered, then ftrace will call a function that will loop
  through the functions to call.

Signed-off-by: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
Signed-off-by: Steven Rostedt <srostedt@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Makefile
arch/x86/Kconfig
arch/x86/kernel/entry_32.S
arch/x86/kernel/entry_64.S
include/linux/ftrace.h [new file with mode: 0644]
kernel/Makefile
kernel/trace/Kconfig [new file with mode: 0644]
kernel/trace/Makefile [new file with mode: 0644]
kernel/trace/ftrace.c [new file with mode: 0644]
lib/Kconfig.debug