path: root/kernel/sysctl.c
diff options
authorSteven Rostedt (Red Hat) <>2014-12-12 22:27:10 -0500
committerSteven Rostedt <>2014-12-15 10:17:38 -0500
commit0daa2302968c13b657118d6ac92471f8fd2f3f28 (patch)
tree8bea68f7bbeab6521c11c01f55b5660082eeedf6 /kernel/sysctl.c
parent5f893b2639b21ffe6834b1aebba392c37d2b83f9 (diff)
tracing: Add tp_printk cmdline to have tracepoints go to printk()
Add the kernel command line tp_printk option that will have tracepoints that are active sent to printk() as well as to the trace buffer. Passing "tp_printk" will activate this. To turn it off, the sysctl /proc/sys/kernel/tracepoint_printk can have '0' echoed into it. Note, this only works if the cmdline option is used. Echoing 1 into the sysctl file without the cmdline option will have no affect. Note, this is a dangerous option. Having high frequency tracepoints send their data to printk() can possibly cause a live lock. This is another reason why this is only active if the command line option is used. Link: Suggested-by: Thomas Gleixner <> Tested-by: Thomas Gleixner <> Acked-by: Thomas Gleixner <> Signed-off-by: Steven Rostedt <>
Diffstat (limited to 'kernel/sysctl.c')
1 files changed, 7 insertions, 0 deletions
diff --git a/kernel/sysctl.c b/kernel/sysctl.c
index 4aada6d9fe74..bb50c2187194 100644
--- a/kernel/sysctl.c
+++ b/kernel/sysctl.c
@@ -622,6 +622,13 @@ static struct ctl_table kern_table[] = {
.mode = 0644,
.proc_handler = proc_dointvec,
+ {
+ .procname = "tracepoint_printk",
+ .data = &tracepoint_printk,
+ .maxlen = sizeof(tracepoint_printk),
+ .mode = 0644,
+ .proc_handler = proc_dointvec,
+ },