|
@@ -178,6 +178,12 @@ static inline void format_mod_start(void) { }
|
|
|
static inline void format_mod_stop(void) { }
|
|
|
#endif /* CONFIG_MODULES */
|
|
|
|
|
|
+static bool __read_mostly trace_printk_enabled = true;
|
|
|
+
|
|
|
+void trace_printk_control(bool enabled)
|
|
|
+{
|
|
|
+ trace_printk_enabled = enabled;
|
|
|
+}
|
|
|
|
|
|
__initdata_or_module static
|
|
|
struct notifier_block module_trace_bprintk_format_nb = {
|
|
@@ -192,7 +198,7 @@ int __trace_bprintk(unsigned long ip, const char *fmt, ...)
|
|
|
if (unlikely(!fmt))
|
|
|
return 0;
|
|
|
|
|
|
- if (!(trace_flags & TRACE_ITER_PRINTK))
|
|
|
+ if (!trace_printk_enabled)
|
|
|
return 0;
|
|
|
|
|
|
va_start(ap, fmt);
|
|
@@ -207,7 +213,7 @@ int __ftrace_vbprintk(unsigned long ip, const char *fmt, va_list ap)
|
|
|
if (unlikely(!fmt))
|
|
|
return 0;
|
|
|
|
|
|
- if (!(trace_flags & TRACE_ITER_PRINTK))
|
|
|
+ if (!trace_printk_enabled)
|
|
|
return 0;
|
|
|
|
|
|
return trace_vbprintk(ip, fmt, ap);
|
|
@@ -219,7 +225,7 @@ int __trace_printk(unsigned long ip, const char *fmt, ...)
|
|
|
int ret;
|
|
|
va_list ap;
|
|
|
|
|
|
- if (!(trace_flags & TRACE_ITER_PRINTK))
|
|
|
+ if (!trace_printk_enabled)
|
|
|
return 0;
|
|
|
|
|
|
va_start(ap, fmt);
|
|
@@ -231,7 +237,7 @@ EXPORT_SYMBOL_GPL(__trace_printk);
|
|
|
|
|
|
int __ftrace_vprintk(unsigned long ip, const char *fmt, va_list ap)
|
|
|
{
|
|
|
- if (!(trace_flags & TRACE_ITER_PRINTK))
|
|
|
+ if (!trace_printk_enabled)
|
|
|
return 0;
|
|
|
|
|
|
return trace_vprintk(ip, fmt, ap);
|