Add per-instance tracing_on option, which will be useful with
traceon/traceoff event trigger actions. For example, if we
disable tracing_on by default and set traceon and traceoff on
a pair of events, we can trace functions between the pair of
events.

Signed-off-by: Masami Hiramatsu <mhira...@kernel.org>
---
 kernel/trace/trace_boot.c |   10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/kernel/trace/trace_boot.c b/kernel/trace/trace_boot.c
index fa0fc08c6ef8..d52d441a17e8 100644
--- a/kernel/trace/trace_boot.c
+++ b/kernel/trace/trace_boot.c
@@ -40,6 +40,16 @@ trace_boot_set_instance_options(struct trace_array *tr, 
struct xbc_node *node)
                        pr_err("Failed to set option: %s\n", buf);
        }
 
+       p = xbc_node_find_value(node, "tracing_on", NULL);
+       if (p && *p != '\0') {
+               if (kstrtoul(p, 10, &v))
+                       pr_err("Failed to set tracing on: %s\n", p);
+               if (v)
+                       tracer_tracing_on(tr);
+               else
+                       tracer_tracing_off(tr);
+       }
+
        p = xbc_node_find_value(node, "trace_clock", NULL);
        if (p && *p != '\0') {
                if (tracing_set_clock(tr, p) < 0)

Reply via email to