diff options
Diffstat (limited to 'kernel/trace/trace_functions_graph.c')
| -rw-r--r-- | kernel/trace/trace_functions_graph.c | 16 | 
1 files changed, 12 insertions, 4 deletions
diff --git a/kernel/trace/trace_functions_graph.c b/kernel/trace/trace_functions_graph.c index ee791a9650c..48af4937438 100644 --- a/kernel/trace/trace_functions_graph.c +++ b/kernel/trace/trace_functions_graph.c @@ -368,6 +368,7 @@ static enum print_line_t  print_graph_lat_fmt(struct trace_seq *s, struct trace_entry *entry)  {  	int hardirq, softirq; +	int ret;  	hardirq = entry->flags & TRACE_FLAG_HARDIRQ;  	softirq = entry->flags & TRACE_FLAG_SOFTIRQ; @@ -382,6 +383,13 @@ print_graph_lat_fmt(struct trace_seq *s, struct trace_entry *entry)  				hardirq ? 'h' : softirq ? 's' : '.'))  		return 0; +	if (entry->lock_depth < 0) +		ret = trace_seq_putc(s, '.'); +	else +		ret = trace_seq_printf(s, "%d", entry->lock_depth); +	if (!ret) +		return 0; +  	if (entry->preempt_count)  		return trace_seq_printf(s, "%x", entry->preempt_count);  	return trace_seq_puts(s, "."); @@ -1001,8 +1009,8 @@ static void print_lat_header(struct seq_file *s)  	seq_printf(s, "#%.*s / _----=> need-resched    \n", size, spaces);  	seq_printf(s, "#%.*s| / _---=> hardirq/softirq \n", size, spaces);  	seq_printf(s, "#%.*s|| / _--=> preempt-depth   \n", size, spaces); -	seq_printf(s, "#%.*s||| /                      \n", size, spaces); -	seq_printf(s, "#%.*s||||                       \n", size, spaces); +	seq_printf(s, "#%.*s||| / _-=> lock-depth      \n", size, spaces); +	seq_printf(s, "#%.*s|||| /                     \n", size, spaces);  }  static void print_graph_headers(struct seq_file *s) @@ -1021,7 +1029,7 @@ static void print_graph_headers(struct seq_file *s)  	if (tracer_flags.val & TRACE_GRAPH_PRINT_PROC)  		seq_printf(s, "  TASK/PID       ");  	if (lat) -		seq_printf(s, "||||"); +		seq_printf(s, "|||||");  	if (tracer_flags.val & TRACE_GRAPH_PRINT_DURATION)  		seq_printf(s, "  DURATION   ");  	seq_printf(s, "               FUNCTION CALLS\n"); @@ -1035,7 +1043,7 @@ static void print_graph_headers(struct seq_file *s)  	if (tracer_flags.val & TRACE_GRAPH_PRINT_PROC)  		seq_printf(s, "   |    |        ");  	if (lat) -		seq_printf(s, "||||"); +		seq_printf(s, "|||||");  	if (tracer_flags.val & TRACE_GRAPH_PRINT_DURATION)  		seq_printf(s, "   |   |      ");  	seq_printf(s, "               |   |   |   |\n");  |