ftrace: make output nicely spaced for up to 999 cpus
Currently some of the ftrace output goes skewiff if you have more than 9 cpus, and some if you have more than 99. Twiddle with the headers and format strings to make up to 999 cpus display without causing spacing problems. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Acked-by: Steven Rostedt <srostedt@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
Родитель
2ff01c6a17
Коммит
a6168353d1
|
@ -1409,21 +1409,21 @@ seq_print_ip_sym(struct trace_seq *s, unsigned long ip, unsigned long sym_flags)
|
|||
|
||||
static void print_lat_help_header(struct seq_file *m)
|
||||
{
|
||||
seq_puts(m, "# _------=> CPU# \n");
|
||||
seq_puts(m, "# / _-----=> irqs-off \n");
|
||||
seq_puts(m, "# | / _----=> need-resched \n");
|
||||
seq_puts(m, "# || / _---=> hardirq/softirq \n");
|
||||
seq_puts(m, "# ||| / _--=> preempt-depth \n");
|
||||
seq_puts(m, "# |||| / \n");
|
||||
seq_puts(m, "# ||||| delay \n");
|
||||
seq_puts(m, "# cmd pid ||||| time | caller \n");
|
||||
seq_puts(m, "# \\ / ||||| \\ | / \n");
|
||||
seq_puts(m, "# _------=> CPU# \n");
|
||||
seq_puts(m, "# / _-----=> irqs-off \n");
|
||||
seq_puts(m, "# | / _----=> need-resched \n");
|
||||
seq_puts(m, "# || / _---=> hardirq/softirq \n");
|
||||
seq_puts(m, "# ||| / _--=> preempt-depth \n");
|
||||
seq_puts(m, "# |||| / \n");
|
||||
seq_puts(m, "# ||||| delay \n");
|
||||
seq_puts(m, "# cmd pid ||||| time | caller \n");
|
||||
seq_puts(m, "# \\ / ||||| \\ | / \n");
|
||||
}
|
||||
|
||||
static void print_func_help_header(struct seq_file *m)
|
||||
{
|
||||
seq_puts(m, "# TASK-PID CPU# TIMESTAMP FUNCTION\n");
|
||||
seq_puts(m, "# | | | | |\n");
|
||||
seq_puts(m, "# TASK-PID CPU# TIMESTAMP FUNCTION\n");
|
||||
seq_puts(m, "# | | | | |\n");
|
||||
}
|
||||
|
||||
|
||||
|
@ -1508,7 +1508,7 @@ lat_print_generic(struct trace_seq *s, struct trace_entry *entry, int cpu)
|
|||
comm = trace_find_cmdline(field->pid);
|
||||
|
||||
trace_seq_printf(s, "%8.8s-%-5d ", comm, field->pid);
|
||||
trace_seq_printf(s, "%d", cpu);
|
||||
trace_seq_printf(s, "%3d", cpu);
|
||||
trace_seq_printf(s, "%c%c",
|
||||
(field->flags & TRACE_FLAG_IRQS_OFF) ? 'd' : '.',
|
||||
((field->flags & TRACE_FLAG_NEED_RESCHED) ? 'N' : '.'));
|
||||
|
@ -1598,7 +1598,7 @@ print_lat_fmt(struct trace_iterator *iter, unsigned int trace_idx, int cpu)
|
|||
|
||||
if (verbose) {
|
||||
comm = trace_find_cmdline(field->pid);
|
||||
trace_seq_printf(s, "%16s %5d %d %d %08x %08x [%08lx]"
|
||||
trace_seq_printf(s, "%16s %5d %3d %d %08x %08x [%08lx]"
|
||||
" %ld.%03ldms (+%ld.%03ldms): ",
|
||||
comm,
|
||||
field->pid, cpu, field->flags,
|
||||
|
@ -1694,7 +1694,7 @@ static int print_trace_fmt(struct trace_iterator *iter)
|
|||
ret = trace_seq_printf(s, "%16s-%-5d ", comm, field->pid);
|
||||
if (!ret)
|
||||
return 0;
|
||||
ret = trace_seq_printf(s, "[%02d] ", iter->cpu);
|
||||
ret = trace_seq_printf(s, "[%03d] ", iter->cpu);
|
||||
if (!ret)
|
||||
return 0;
|
||||
ret = trace_seq_printf(s, "%5lu.%06lu: ", secs, usec_rem);
|
||||
|
|
Загрузка…
Ссылка в новой задаче