Skip to content

Commit 795d637

Browse files
Sebastian Andrzej Siewiorrostedt
authored andcommitted
tracing: Make the space reserved for the pid wider
For 64bit CONFIG_BASE_SMALL=0 systems PID_MAX_LIMIT is set by default to 4194304. During boot the kernel sets a new value based on number of CPUs but no lower than 32768. It is 1024 per CPU so with 128 CPUs the default becomes 131072 which needs six digits. This value can be increased during run time but must not exceed the initial upper limit. Systemd sometime after v241 sets it to the upper limit during boot. The result is that when the pid exceeds five digits, the trace output is a little hard to read because it is no longer properly padded (same like on big iron with 98+ CPUs). Increase the pid padding to seven digits. Link: https://lkml.kernel.org/r/[email protected] Signed-off-by: Sebastian Andrzej Siewior <[email protected]> Signed-off-by: Steven Rostedt (VMware) <[email protected]>
1 parent 478ece9 commit 795d637

File tree

2 files changed

+25
-25
lines changed

2 files changed

+25
-25
lines changed

kernel/trace/trace.c

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -3782,14 +3782,14 @@ unsigned long trace_total_entries(struct trace_array *tr)
37823782

37833783
static void print_lat_help_header(struct seq_file *m)
37843784
{
3785-
seq_puts(m, "# _------=> CPU# \n"
3786-
"# / _-----=> irqs-off \n"
3787-
"# | / _----=> need-resched \n"
3788-
"# || / _---=> hardirq/softirq \n"
3789-
"# ||| / _--=> preempt-depth \n"
3790-
"# |||| / delay \n"
3791-
"# cmd pid ||||| time | caller \n"
3792-
"# \\ / ||||| \\ | / \n");
3785+
seq_puts(m, "# _------=> CPU# \n"
3786+
"# / _-----=> irqs-off \n"
3787+
"# | / _----=> need-resched \n"
3788+
"# || / _---=> hardirq/softirq \n"
3789+
"# ||| / _--=> preempt-depth \n"
3790+
"# |||| / delay \n"
3791+
"# cmd pid ||||| time | caller \n"
3792+
"# \\ / ||||| \\ | / \n");
37933793
}
37943794

37953795
static void print_event_info(struct array_buffer *buf, struct seq_file *m)
@@ -3810,26 +3810,26 @@ static void print_func_help_header(struct array_buffer *buf, struct seq_file *m,
38103810

38113811
print_event_info(buf, m);
38123812

3813-
seq_printf(m, "# TASK-PID %s CPU# TIMESTAMP FUNCTION\n", tgid ? "TGID " : "");
3814-
seq_printf(m, "# | | %s | | |\n", tgid ? " | " : "");
3813+
seq_printf(m, "# TASK-PID %s CPU# TIMESTAMP FUNCTION\n", tgid ? " TGID " : "");
3814+
seq_printf(m, "# | | %s | | |\n", tgid ? " | " : "");
38153815
}
38163816

38173817
static void print_func_help_header_irq(struct array_buffer *buf, struct seq_file *m,
38183818
unsigned int flags)
38193819
{
38203820
bool tgid = flags & TRACE_ITER_RECORD_TGID;
3821-
const char *space = " ";
3822-
int prec = tgid ? 10 : 2;
3821+
const char *space = " ";
3822+
int prec = tgid ? 12 : 2;
38233823

38243824
print_event_info(buf, m);
38253825

3826-
seq_printf(m, "# %.*s _-----=> irqs-off\n", prec, space);
3827-
seq_printf(m, "# %.*s / _----=> need-resched\n", prec, space);
3828-
seq_printf(m, "# %.*s| / _---=> hardirq/softirq\n", prec, space);
3829-
seq_printf(m, "# %.*s|| / _--=> preempt-depth\n", prec, space);
3830-
seq_printf(m, "# %.*s||| / delay\n", prec, space);
3831-
seq_printf(m, "# TASK-PID %.*sCPU# |||| TIMESTAMP FUNCTION\n", prec, " TGID ");
3832-
seq_printf(m, "# | | %.*s | |||| | |\n", prec, " | ");
3826+
seq_printf(m, "# %.*s _-----=> irqs-off\n", prec, space);
3827+
seq_printf(m, "# %.*s / _----=> need-resched\n", prec, space);
3828+
seq_printf(m, "# %.*s| / _---=> hardirq/softirq\n", prec, space);
3829+
seq_printf(m, "# %.*s|| / _--=> preempt-depth\n", prec, space);
3830+
seq_printf(m, "# %.*s||| / delay\n", prec, space);
3831+
seq_printf(m, "# TASK-PID %.*s CPU# |||| TIMESTAMP FUNCTION\n", prec, " TGID ");
3832+
seq_printf(m, "# | | %.*s | |||| | |\n", prec, " | ");
38333833
}
38343834

38353835
void

kernel/trace/trace_output.c

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -497,7 +497,7 @@ lat_print_generic(struct trace_seq *s, struct trace_entry *entry, int cpu)
497497

498498
trace_find_cmdline(entry->pid, comm);
499499

500-
trace_seq_printf(s, "%8.8s-%-5d %3d",
500+
trace_seq_printf(s, "%8.8s-%-7d %3d",
501501
comm, entry->pid, cpu);
502502

503503
return trace_print_lat_fmt(s, entry);
@@ -588,15 +588,15 @@ int trace_print_context(struct trace_iterator *iter)
588588

589589
trace_find_cmdline(entry->pid, comm);
590590

591-
trace_seq_printf(s, "%16s-%-5d ", comm, entry->pid);
591+
trace_seq_printf(s, "%16s-%-7d ", comm, entry->pid);
592592

593593
if (tr->trace_flags & TRACE_ITER_RECORD_TGID) {
594594
unsigned int tgid = trace_find_tgid(entry->pid);
595595

596596
if (!tgid)
597-
trace_seq_printf(s, "(-----) ");
597+
trace_seq_printf(s, "(-------) ");
598598
else
599-
trace_seq_printf(s, "(%5d) ", tgid);
599+
trace_seq_printf(s, "(%7d) ", tgid);
600600
}
601601

602602
trace_seq_printf(s, "[%03d] ", iter->cpu);
@@ -636,7 +636,7 @@ int trace_print_lat_context(struct trace_iterator *iter)
636636
trace_find_cmdline(entry->pid, comm);
637637

638638
trace_seq_printf(
639-
s, "%16s %5d %3d %d %08x %08lx ",
639+
s, "%16s %7d %3d %d %08x %08lx ",
640640
comm, entry->pid, iter->cpu, entry->flags,
641641
entry->preempt_count, iter->idx);
642642
} else {
@@ -917,7 +917,7 @@ static enum print_line_t trace_ctxwake_print(struct trace_iterator *iter,
917917
S = task_index_to_char(field->prev_state);
918918
trace_find_cmdline(field->next_pid, comm);
919919
trace_seq_printf(&iter->seq,
920-
" %5d:%3d:%c %s [%03d] %5d:%3d:%c %s\n",
920+
" %7d:%3d:%c %s [%03d] %7d:%3d:%c %s\n",
921921
field->prev_pid,
922922
field->prev_prio,
923923
S, delim,

0 commit comments

Comments
 (0)