From: "Steven Rostedt (VMware)" <[email protected]>

The addition of TGID to the tracing header added a check to see if TGID
shoudl be displayed or not, and updated the header accordingly.
Unfortunately, it broke the default header.

Also add constant strings to use for spacing. This does remove the
visibility of the header a bit, but cuts it down from the extended lines
much greater than 80 characters.

Before this change:

 # tracer: function
 #
 #                            _-----=> irqs-off
 #                           / _----=> need-resched
 #                          | / _---=> hardirq/softirq
 #                          || / _--=> preempt-depth
 #                          ||| /     delay
 #           TASK-PID   CPU#||||    TIMESTAMP  FUNCTION
 #              | |       | ||||       |         |
        swapper/0-1     [000] ....     0.277830: migration_init 
<-do_one_initcall
        swapper/0-1     [002] d...    13.861967: Unknown type 1201
        swapper/0-1     [002] d..1    13.861970: Unknown type 1202

After this change:

 # tracer: function
 #
 #                              _-----=> irqs-off
 #                             / _----=> need-resched
 #                            | / _---=> hardirq/softirq
 #                            || / _--=> preempt-depth
 #                            ||| /     delay
 #           TASK-PID   CPU#  ||||    TIMESTAMP  FUNCTION
 #              | |       |   ||||       |         |
        swapper/0-1     [000] ....     0.278245: migration_init 
<-do_one_initcall
        swapper/0-1     [003] d...    13.861189: Unknown type 1201
        swapper/0-1     [003] d..1    13.861192: Unknown type 1202

Cc: Joel Fernandes <[email protected]>
Fixes: 441dae8f2f29 ("tracing: Add support for display of tgid in trace output")
Signed-off-by: Steven Rostedt (VMware) <[email protected]>
---
 kernel/trace/trace.c | 25 +++++++++++++++++--------
 1 file changed, 17 insertions(+), 8 deletions(-)

diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
index 92af8fd1429b..dabd810a10cd 100644
--- a/kernel/trace/trace.c
+++ b/kernel/trace/trace.c
@@ -3358,14 +3358,23 @@ static void print_func_help_header_irq(struct 
trace_buffer *buf, struct seq_file
                                       unsigned int flags)
 {
        bool tgid = flags & TRACE_ITER_RECORD_TGID;
-
-       seq_printf(m, "#                          %s  _-----=> irqs-off\n",     
    tgid ? "          " : "");
-       seq_printf(m, "#                          %s / _----=> need-resched\n", 
    tgid ? "          " : "");
-       seq_printf(m, "#                          %s| / _---=> 
hardirq/softirq\n",  tgid ? "          " : "");
-       seq_printf(m, "#                          %s|| / _--=> 
preempt-depth\n",    tgid ? "          " : "");
-       seq_printf(m, "#                          %s||| /     delay\n",         
    tgid ? "          " : "");
-       seq_printf(m, "#           TASK-PID   CPU#%s||||    TIMESTAMP  
FUNCTION\n", tgid ? "   TGID   " : "");
-       seq_printf(m, "#              | |       | %s||||       |         |\n",  
    tgid ? "     |    " : "");
+       const char tgid_space[] = "          ";
+       const char space[] = "  ";
+
+       seq_printf(m, "#                          %s  _-----=> irqs-off\n",
+                  tgid ? tgid_space : space);
+       seq_printf(m, "#                          %s / _----=> need-resched\n",
+                  tgid ? tgid_space : space);
+       seq_printf(m, "#                          %s| / _---=> 
hardirq/softirq\n",
+                  tgid ? tgid_space : space);
+       seq_printf(m, "#                          %s|| / _--=> preempt-depth\n",
+                  tgid ? tgid_space : space);
+       seq_printf(m, "#                          %s||| /     delay\n",
+                  tgid ? tgid_space : space);
+       seq_printf(m, "#           TASK-PID   CPU#%s||||    TIMESTAMP  
FUNCTION\n",
+                  tgid ? "   TGID   " : space);
+       seq_printf(m, "#              | |       | %s||||       |         |\n",
+                  tgid ? "     |    " : space);
 }
 
 void
-- 
2.10.2


Reply via email to