Loading kernel/trace/trace.c +7 −4 Original line number Diff line number Diff line Loading @@ -489,10 +489,13 @@ static inline void ftrace_trace_stack(struct ring_buffer *buffer, #endif /* trace_flags holds trace_options default values */ unsigned long trace_flags = TRACE_ITER_PRINT_PARENT | TRACE_ITER_PRINTK | TRACE_ITER_ANNOTATE | TRACE_ITER_CONTEXT_INFO | TRACE_ITER_SLEEP_TIME | TRACE_ITER_GRAPH_TIME | TRACE_ITER_RECORD_CMD | TRACE_ITER_OVERWRITE | TRACE_ITER_IRQ_INFO | TRACE_ITER_MARKERS | TRACE_ITER_FUNCTION; unsigned long trace_flags = FUNCTION_GRAPH_DEFAULT_FLAGS | TRACE_ITER_PRINT_PARENT | TRACE_ITER_PRINTK | TRACE_ITER_ANNOTATE | TRACE_ITER_CONTEXT_INFO | TRACE_ITER_RECORD_CMD | TRACE_ITER_OVERWRITE | TRACE_ITER_IRQ_INFO | TRACE_ITER_MARKERS | TRACE_ITER_FUNCTION ; static void tracer_tracing_on(struct trace_array *tr) { Loading kernel/trace/trace.h +17 −3 Original line number Diff line number Diff line Loading @@ -879,6 +879,22 @@ extern void trace_parser_put(struct trace_parser *parser); extern int trace_get_user(struct trace_parser *parser, const char __user *ubuf, size_t cnt, loff_t *ppos); /* * Only create function graph options if function graph is configured. */ #ifdef CONFIG_FUNCTION_GRAPH_TRACER # define FGRAPH_FLAGS \ C(SLEEP_TIME, "sleep-time"), \ C(GRAPH_TIME, "graph-time"), \ C(DISPLAY_GRAPH, "display-graph"), /* Initially set for trace_flags */ # define FUNCTION_GRAPH_DEFAULT_FLAGS \ (TRACE_ITER_SLEEP_TIME | TRACE_ITER_GRAPH_TIME) #else # define FGRAPH_FLAGS # define FUNCTION_GRAPH_DEFAULT_FLAGS 0UL #endif /* * trace_iterator_flags is an enumeration that defines bit * positions into trace_flags that controls the output. Loading @@ -904,15 +920,13 @@ extern int trace_get_user(struct trace_parser *parser, const char __user *ubuf, C(PRINTK_MSGONLY, "printk-msg-only"), \ C(CONTEXT_INFO, "context-info"), /* Print pid/cpu/time */ \ C(LATENCY_FMT, "latency-format"), \ C(SLEEP_TIME, "sleep-time"), \ C(GRAPH_TIME, "graph-time"), \ C(RECORD_CMD, "record-cmd"), \ C(OVERWRITE, "overwrite"), \ C(STOP_ON_FREE, "disable_on_free"), \ C(IRQ_INFO, "irq-info"), \ C(MARKERS, "markers"), \ C(FUNCTION, "function-trace"), \ C(DISPLAY_GRAPH, "display-graph"), FGRAPH_FLAGS /* * By defining C, we can make TRACE_FLAGS a list of bit names Loading kernel/trace/trace_irqsoff.c +4 −2 Original line number Diff line number Diff line Loading @@ -57,15 +57,15 @@ irq_trace(void) # define irq_trace() (0) #endif #define is_graph() (trace_flags & TRACE_ITER_DISPLAY_GRAPH) #ifdef CONFIG_FUNCTION_GRAPH_TRACER static int irqsoff_display_graph(struct trace_array *tr, int set); # define is_graph() (trace_flags & TRACE_ITER_DISPLAY_GRAPH) #else static inline int irqsoff_display_graph(struct trace_array *tr, int set) { return -EINVAL; } # define is_graph() false #endif /* Loading Loading @@ -556,8 +556,10 @@ static int irqsoff_flag_changed(struct trace_array *tr, u32 mask, int set) if (mask & TRACE_ITER_FUNCTION) return irqsoff_function_set(tr, set); #ifdef CONFIG_FUNCTION_GRAPH_TRACER if (mask & TRACE_ITER_DISPLAY_GRAPH) return irqsoff_display_graph(tr, set); #endif return trace_keep_overwrite(tracer, mask, set); } Loading kernel/trace/trace_sched_wakeup.c +4 −2 Original line number Diff line number Diff line Loading @@ -40,15 +40,15 @@ static void wakeup_graph_return(struct ftrace_graph_ret *trace); static int save_flags; static bool function_enabled; #define is_graph() (trace_flags & TRACE_ITER_DISPLAY_GRAPH) #ifdef CONFIG_FUNCTION_GRAPH_TRACER static int wakeup_display_graph(struct trace_array *tr, int set); # define is_graph() (trace_flags & TRACE_ITER_DISPLAY_GRAPH) #else static inline int wakeup_display_graph(struct trace_array *tr, int set) { return -EINVAL; } # define is_graph() false #endif Loading Loading @@ -174,8 +174,10 @@ static int wakeup_flag_changed(struct trace_array *tr, u32 mask, int set) if (mask & TRACE_ITER_FUNCTION) return wakeup_function_set(tr, set); #ifdef CONFIG_FUNCTION_GRAPH_TRACER if (mask & TRACE_ITER_DISPLAY_GRAPH) return wakeup_display_graph(tr, set); #endif return trace_keep_overwrite(tracer, mask, set); } Loading Loading
kernel/trace/trace.c +7 −4 Original line number Diff line number Diff line Loading @@ -489,10 +489,13 @@ static inline void ftrace_trace_stack(struct ring_buffer *buffer, #endif /* trace_flags holds trace_options default values */ unsigned long trace_flags = TRACE_ITER_PRINT_PARENT | TRACE_ITER_PRINTK | TRACE_ITER_ANNOTATE | TRACE_ITER_CONTEXT_INFO | TRACE_ITER_SLEEP_TIME | TRACE_ITER_GRAPH_TIME | TRACE_ITER_RECORD_CMD | TRACE_ITER_OVERWRITE | TRACE_ITER_IRQ_INFO | TRACE_ITER_MARKERS | TRACE_ITER_FUNCTION; unsigned long trace_flags = FUNCTION_GRAPH_DEFAULT_FLAGS | TRACE_ITER_PRINT_PARENT | TRACE_ITER_PRINTK | TRACE_ITER_ANNOTATE | TRACE_ITER_CONTEXT_INFO | TRACE_ITER_RECORD_CMD | TRACE_ITER_OVERWRITE | TRACE_ITER_IRQ_INFO | TRACE_ITER_MARKERS | TRACE_ITER_FUNCTION ; static void tracer_tracing_on(struct trace_array *tr) { Loading
kernel/trace/trace.h +17 −3 Original line number Diff line number Diff line Loading @@ -879,6 +879,22 @@ extern void trace_parser_put(struct trace_parser *parser); extern int trace_get_user(struct trace_parser *parser, const char __user *ubuf, size_t cnt, loff_t *ppos); /* * Only create function graph options if function graph is configured. */ #ifdef CONFIG_FUNCTION_GRAPH_TRACER # define FGRAPH_FLAGS \ C(SLEEP_TIME, "sleep-time"), \ C(GRAPH_TIME, "graph-time"), \ C(DISPLAY_GRAPH, "display-graph"), /* Initially set for trace_flags */ # define FUNCTION_GRAPH_DEFAULT_FLAGS \ (TRACE_ITER_SLEEP_TIME | TRACE_ITER_GRAPH_TIME) #else # define FGRAPH_FLAGS # define FUNCTION_GRAPH_DEFAULT_FLAGS 0UL #endif /* * trace_iterator_flags is an enumeration that defines bit * positions into trace_flags that controls the output. Loading @@ -904,15 +920,13 @@ extern int trace_get_user(struct trace_parser *parser, const char __user *ubuf, C(PRINTK_MSGONLY, "printk-msg-only"), \ C(CONTEXT_INFO, "context-info"), /* Print pid/cpu/time */ \ C(LATENCY_FMT, "latency-format"), \ C(SLEEP_TIME, "sleep-time"), \ C(GRAPH_TIME, "graph-time"), \ C(RECORD_CMD, "record-cmd"), \ C(OVERWRITE, "overwrite"), \ C(STOP_ON_FREE, "disable_on_free"), \ C(IRQ_INFO, "irq-info"), \ C(MARKERS, "markers"), \ C(FUNCTION, "function-trace"), \ C(DISPLAY_GRAPH, "display-graph"), FGRAPH_FLAGS /* * By defining C, we can make TRACE_FLAGS a list of bit names Loading
kernel/trace/trace_irqsoff.c +4 −2 Original line number Diff line number Diff line Loading @@ -57,15 +57,15 @@ irq_trace(void) # define irq_trace() (0) #endif #define is_graph() (trace_flags & TRACE_ITER_DISPLAY_GRAPH) #ifdef CONFIG_FUNCTION_GRAPH_TRACER static int irqsoff_display_graph(struct trace_array *tr, int set); # define is_graph() (trace_flags & TRACE_ITER_DISPLAY_GRAPH) #else static inline int irqsoff_display_graph(struct trace_array *tr, int set) { return -EINVAL; } # define is_graph() false #endif /* Loading Loading @@ -556,8 +556,10 @@ static int irqsoff_flag_changed(struct trace_array *tr, u32 mask, int set) if (mask & TRACE_ITER_FUNCTION) return irqsoff_function_set(tr, set); #ifdef CONFIG_FUNCTION_GRAPH_TRACER if (mask & TRACE_ITER_DISPLAY_GRAPH) return irqsoff_display_graph(tr, set); #endif return trace_keep_overwrite(tracer, mask, set); } Loading
kernel/trace/trace_sched_wakeup.c +4 −2 Original line number Diff line number Diff line Loading @@ -40,15 +40,15 @@ static void wakeup_graph_return(struct ftrace_graph_ret *trace); static int save_flags; static bool function_enabled; #define is_graph() (trace_flags & TRACE_ITER_DISPLAY_GRAPH) #ifdef CONFIG_FUNCTION_GRAPH_TRACER static int wakeup_display_graph(struct trace_array *tr, int set); # define is_graph() (trace_flags & TRACE_ITER_DISPLAY_GRAPH) #else static inline int wakeup_display_graph(struct trace_array *tr, int set) { return -EINVAL; } # define is_graph() false #endif Loading Loading @@ -174,8 +174,10 @@ static int wakeup_flag_changed(struct trace_array *tr, u32 mask, int set) if (mask & TRACE_ITER_FUNCTION) return wakeup_function_set(tr, set); #ifdef CONFIG_FUNCTION_GRAPH_TRACER if (mask & TRACE_ITER_DISPLAY_GRAPH) return wakeup_display_graph(tr, set); #endif return trace_keep_overwrite(tracer, mask, set); } Loading