diff options
| author | Steven Rostedt <srostedt@redhat.com> | 2008-05-12 15:20:43 -0400 |
|---|---|---|
| committer | Thomas Gleixner <tglx@linutronix.de> | 2008-05-23 14:33:19 -0400 |
| commit | b0fc494fae96a7089f3651cb451f461c7291244c (patch) | |
| tree | 586412b9ecbd8e3f04e8cd90a31644f94ff3a7d8 /kernel/sysctl.c | |
| parent | 3d0833953e1b98b79ddf491dd49229eef9baeac1 (diff) | |
ftrace: add ftrace_enabled sysctl to disable mcount function
This patch adds back the sysctl ftrace_enabled. This time it is
defaulted to on, if DYNAMIC_FTRACE is configured. When ftrace_enabled
is disabled, the ftrace function is set to the stub return.
If DYNAMIC_FTRACE is also configured, on ftrace_enabled = 0,
the registered ftrace functions will all be set to jmps, but no more
new calls to ftrace recording (used to find the ftrace calling sites)
will be called.
Signed-off-by: Steven Rostedt <srostedt@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'kernel/sysctl.c')
| -rw-r--r-- | kernel/sysctl.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/kernel/sysctl.c b/kernel/sysctl.c index 29116652dca..efaf7c5500e 100644 --- a/kernel/sysctl.c +++ b/kernel/sysctl.c | |||
| @@ -46,6 +46,7 @@ | |||
| 46 | #include <linux/nfs_fs.h> | 46 | #include <linux/nfs_fs.h> |
| 47 | #include <linux/acpi.h> | 47 | #include <linux/acpi.h> |
| 48 | #include <linux/reboot.h> | 48 | #include <linux/reboot.h> |
| 49 | #include <linux/ftrace.h> | ||
| 49 | 50 | ||
| 50 | #include <asm/uaccess.h> | 51 | #include <asm/uaccess.h> |
| 51 | #include <asm/processor.h> | 52 | #include <asm/processor.h> |
| @@ -455,6 +456,16 @@ static struct ctl_table kern_table[] = { | |||
| 455 | .mode = 0644, | 456 | .mode = 0644, |
| 456 | .proc_handler = &proc_dointvec, | 457 | .proc_handler = &proc_dointvec, |
| 457 | }, | 458 | }, |
| 459 | #ifdef CONFIG_FTRACE | ||
| 460 | { | ||
| 461 | .ctl_name = CTL_UNNUMBERED, | ||
| 462 | .procname = "ftrace_enabled", | ||
| 463 | .data = &ftrace_enabled, | ||
| 464 | .maxlen = sizeof(int), | ||
| 465 | .mode = 0644, | ||
| 466 | .proc_handler = &ftrace_enable_sysctl, | ||
| 467 | }, | ||
| 468 | #endif | ||
| 458 | #ifdef CONFIG_KMOD | 469 | #ifdef CONFIG_KMOD |
| 459 | { | 470 | { |
| 460 | .ctl_name = KERN_MODPROBE, | 471 | .ctl_name = KERN_MODPROBE, |
