]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blobdiff - kernel/trace/trace_functions_graph.c
tracing: Move sleep-time and graph-time options out of the core trace_flags
[mirror_ubuntu-bionic-kernel.git] / kernel / trace / trace_functions_graph.c
index ca98445782acaa83915a5ffb653a189bed1705b1..86e45c2658e425584bb3cb12237ca0ae2692eb57 100644 (file)
@@ -83,13 +83,18 @@ static struct tracer_opt trace_opts[] = {
        { TRACER_OPT(funcgraph-irqs, TRACE_GRAPH_PRINT_IRQS) },
        /* Display function name after trailing } */
        { TRACER_OPT(funcgraph-tail, TRACE_GRAPH_PRINT_TAIL) },
+       /* Include sleep time (scheduled out) between entry and return */
+       { TRACER_OPT(sleep-time, TRACE_GRAPH_SLEEP_TIME) },
+       /* Include time within nested functions */
+       { TRACER_OPT(graph-time, TRACE_GRAPH_GRAPH_TIME) },
        { } /* Empty entry */
 };
 
 static struct tracer_flags tracer_flags = {
        /* Don't display overruns, proc, or tail by default */
        .val = TRACE_GRAPH_PRINT_CPU | TRACE_GRAPH_PRINT_OVERHEAD |
-              TRACE_GRAPH_PRINT_DURATION | TRACE_GRAPH_PRINT_IRQS,
+              TRACE_GRAPH_PRINT_DURATION | TRACE_GRAPH_PRINT_IRQS |
+              TRACE_GRAPH_SLEEP_TIME | TRACE_GRAPH_GRAPH_TIME,
        .opts = trace_opts
 };
 
@@ -1362,6 +1367,12 @@ func_graph_set_flag(struct trace_array *tr, u32 old_flags, u32 bit, int set)
        if (bit == TRACE_GRAPH_PRINT_IRQS)
                ftrace_graph_skip_irqs = !set;
 
+       if (bit == TRACE_GRAPH_SLEEP_TIME)
+               ftrace_graph_sleep_time_control(set);
+
+       if (bit == TRACE_GRAPH_GRAPH_TIME)
+               ftrace_graph_graph_time_control(set);
+
        return 0;
 }