tracing: Put a margin between flags and duration for wakeup tracers

Don't mix context flags with function duration info.

Instead of this:

 # tracer: wakeup_rt
 #
 # wakeup_rt latency trace v1.1.5 on 5.0.0-rc1-test+
 # --------------------------------------------------------------------
 # latency: 177 us, #545/545, CPU#0 | (M:preempt VP:0, KP:0, SP:0 HP:0 #P:8)
 #    -----------------
 #    | task: migration/0-11 (uid:0 nice:0 policy:1 rt_prio:99)
 #    -----------------
 #
 #                                       _-----=> irqs-off
 #                                      / _----=> need-resched
 #                                     | / _---=> hardirq/softirq
 #                                     || / _--=> preempt-depth
 #                                     ||| /
 #   REL TIME      CPU  TASK/PID       ||||  DURATION                  FUNCTION CALLS
 #      |          |     |    |        ||||   |   |                     |   |   |   |
         0 us |   0)    <idle>-0    |  dNh5              |  /*      0:120:R   + [000]    11:  0:R migration/0 */
         2 us |   0)    <idle>-0    |  dNh5  0.000 us    |            (null)();
         4 us |   0)    <idle>-0    |  dNh4              |  _raw_spin_unlock() {
         4 us |   0)    <idle>-0    |  dNh4  0.304 us    |    preempt_count_sub();
         5 us |   0)    <idle>-0    |  dNh3  1.063 us    |  }
         5 us |   0)    <idle>-0    |  dNh3  0.266 us    |  ttwu_stat();
         6 us |   0)    <idle>-0    |  dNh3              |  _raw_spin_unlock_irqrestore() {
         6 us |   0)    <idle>-0    |  dNh3  0.273 us    |    preempt_count_sub();
         6 us |   0)    <idle>-0    |  dNh2  0.818 us    |  }

Show this:

 # tracer: wakeup
 #
 # wakeup latency trace v1.1.5 on 4.20.0+
 # --------------------------------------------------------------------
 # latency: 593 us, #674/674, CPU#0 | (M:desktop VP:0, KP:0, SP:0 HP:0 #P:4)
 #    -----------------
 #    | task: kworker/0:1H-339 (uid:0 nice:-20 policy:0 rt_prio:0)
 #    -----------------
 #
 #                                      _-----=> irqs-off
 #                                     / _----=> need-resched
 #                                    | / _---=> hardirq/softirq
 #                                    || / _--=> preempt-depth
 #                                    ||| /
 #  REL TIME      CPU  TASK/PID       ||||     DURATION                  FUNCTION CALLS
 #     |          |     |    |        ||||      |   |                     |   |   |   |
        0 us |   0)    <idle>-0    |  dNs. |               |  /*      0:120:R   + [000]   339💯R kworker/0:1H */
        3 us |   0)    <idle>-0    |  dNs. |   0.000 us    |            (null)();
       67 us |   0)    <idle>-0    |  dNs. |   0.721 us    |  ttwu_stat();
       69 us |   0)    <idle>-0    |  dNs. |   0.607 us    |  _raw_spin_unlock_irqrestore();
       71 us |   0)    <idle>-0    |  .Ns. |   0.598 us    |  _raw_spin_lock_irq();
       72 us |   0)    <idle>-0    |  .Ns. |   0.584 us    |  _raw_spin_lock_irq();
       73 us |   0)    <idle>-0    |  dNs. | + 11.118 us   |  __next_timer_interrupt();
       75 us |   0)    <idle>-0    |  dNs. |               |  call_timer_fn() {
       76 us |   0)    <idle>-0    |  dNs. |               |    delayed_work_timer_fn() {
       76 us |   0)    <idle>-0    |  dNs. |               |      __queue_work() {
       ...

Link: http://lkml.kernel.org/r/20190101154614.8887-4-changbin.du@gmail.com

Signed-off-by: Changbin Du <changbin.du@gmail.com>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
This commit is contained in:
Changbin Du 2019-01-01 23:46:12 +08:00 committed by Steven Rostedt (VMware)
parent 97f0a3bcdf
commit afbab501c6

View File

@ -380,6 +380,7 @@ static void print_graph_lat_fmt(struct trace_seq *s, struct trace_entry *entry)
{ {
trace_seq_putc(s, ' '); trace_seq_putc(s, ' ');
trace_print_lat_fmt(s, entry); trace_print_lat_fmt(s, entry);
trace_seq_puts(s, " | ");
} }
/* If the pid changed since the last trace, output this event */ /* If the pid changed since the last trace, output this event */
@ -1153,7 +1154,7 @@ static void __print_graph_headers_flags(struct trace_array *tr,
if (flags & TRACE_GRAPH_PRINT_PROC) if (flags & TRACE_GRAPH_PRINT_PROC)
seq_puts(s, " TASK/PID "); seq_puts(s, " TASK/PID ");
if (lat) if (lat)
seq_puts(s, "||||"); seq_puts(s, "|||| ");
if (flags & TRACE_GRAPH_PRINT_DURATION) if (flags & TRACE_GRAPH_PRINT_DURATION)
seq_puts(s, " DURATION "); seq_puts(s, " DURATION ");
seq_puts(s, " FUNCTION CALLS\n"); seq_puts(s, " FUNCTION CALLS\n");
@ -1169,7 +1170,7 @@ static void __print_graph_headers_flags(struct trace_array *tr,
if (flags & TRACE_GRAPH_PRINT_PROC) if (flags & TRACE_GRAPH_PRINT_PROC)
seq_puts(s, " | | "); seq_puts(s, " | | ");
if (lat) if (lat)
seq_puts(s, "||||"); seq_puts(s, "|||| ");
if (flags & TRACE_GRAPH_PRINT_DURATION) if (flags & TRACE_GRAPH_PRINT_DURATION)
seq_puts(s, " | | "); seq_puts(s, " | | ");
seq_puts(s, " | | | |\n"); seq_puts(s, " | | | |\n");