ftrace-graph: show latency-format on print_graph_irq()
On the function_graph tracer, the print_graph_irq() function prints a
trace line with the flag ==========> on an irq handler entry, and the
flag <========== on an irq handler return.
But when the latency-format is enable, it is not printing the
latency-format flags, causing the following error in the trace output:
0) ==========> |
0) d... | smp_apic_timer_interrupt() {
This patch fixes this issue by printing the latency-format flags when
it is enable.
Link: http://lkml.kernel.org/r/7c2e226dac20c940b6242178fab7f0e3c9b5ce58.1415233316.git.bristot@redhat.com
Reviewed-by: Luis Claudio R. Goncalves <lgoncalv@redhat.com>
Signed-off-by: Daniel Bristot de Oliveira <bristot@redhat.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
This commit is contained in:
committed by
Steven Rostedt
parent
1177e43641
commit
678f845ed0
@@ -699,6 +699,7 @@ print_graph_irq(struct trace_iterator *iter, unsigned long addr,
|
|||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
struct trace_seq *s = &iter->seq;
|
struct trace_seq *s = &iter->seq;
|
||||||
|
struct trace_entry *ent = iter->ent;
|
||||||
|
|
||||||
if (addr < (unsigned long)__irqentry_text_start ||
|
if (addr < (unsigned long)__irqentry_text_start ||
|
||||||
addr >= (unsigned long)__irqentry_text_end)
|
addr >= (unsigned long)__irqentry_text_end)
|
||||||
@@ -728,6 +729,14 @@ print_graph_irq(struct trace_iterator *iter, unsigned long addr,
|
|||||||
if (!ret)
|
if (!ret)
|
||||||
return TRACE_TYPE_PARTIAL_LINE;
|
return TRACE_TYPE_PARTIAL_LINE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Latency format */
|
||||||
|
if (trace_flags & TRACE_ITER_LATENCY_FMT) {
|
||||||
|
ret = print_graph_lat_fmt(s, ent);
|
||||||
|
if (ret == TRACE_TYPE_PARTIAL_LINE)
|
||||||
|
return TRACE_TYPE_PARTIAL_LINE;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* No overhead */
|
/* No overhead */
|
||||||
|
|||||||
Reference in New Issue
Block a user