diff options
Diffstat (limited to 'kernel/trace/trace_output.c')
| -rw-r--r-- | kernel/trace/trace_output.c | 16 | 
1 files changed, 14 insertions, 2 deletions
diff --git a/kernel/trace/trace_output.c b/kernel/trace/trace_output.c index 51999309a6c..0d6ff355594 100644 --- a/kernel/trace/trace_output.c +++ b/kernel/trace/trace_output.c @@ -627,11 +627,23 @@ int trace_print_context(struct trace_iterator *iter)  	unsigned long usec_rem = do_div(t, USEC_PER_SEC);  	unsigned long secs = (unsigned long)t;  	char comm[TASK_COMM_LEN]; +	int ret;  	trace_find_cmdline(entry->pid, comm); -	return trace_seq_printf(s, "%16s-%-5d [%03d] %5lu.%06lu: ", -				comm, entry->pid, iter->cpu, secs, usec_rem); +	ret = trace_seq_printf(s, "%16s-%-5d [%03d] ", +			       comm, entry->pid, iter->cpu); +	if (!ret) +		return 0; + +	if (trace_flags & TRACE_ITER_IRQ_INFO) { +		ret = trace_print_lat_fmt(s, entry); +		if (!ret) +			return 0; +	} + +	return trace_seq_printf(s, " %5lu.%06lu: ", +				secs, usec_rem);  }  int trace_print_lat_context(struct trace_iterator *iter)  |