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 29116652dca8..efaf7c5500e9 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, |