1
0
Fork 0

powerpc/xmon: Dump ftrace buffers for the current CPU only

Current xmon 'dt' command dumps the tracing buffer for all the CPUs,
which makes it very hard to read due to the fact that most of
powerpc machines currently have many CPUs. Other than that, the CPU
lines are interleaved in the ftrace log.

This new option just dumps the ftrace buffer for the current CPU.

Signed-off-by: Breno Leitao <leitao@debian.org>
Acked-by: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
hifive-unleashed-5.1
Breno Leitao 2017-08-02 17:14:05 -03:00 committed by Michael Ellerman
parent 1ad35f6e28
commit 4125d012ff
1 changed files with 19 additions and 3 deletions

View File

@ -234,6 +234,7 @@ Commands:\n\
"\
dr dump stream of raw bytes\n\
dt dump the tracing buffers (uses printk)\n\
dtc dump the tracing buffers for current CPU (uses printk)\n\
"
#ifdef CONFIG_PPC_POWERNV
" dx# dump xive on CPU #\n\
@ -2231,6 +2232,19 @@ static void xmon_rawdump (unsigned long adrs, long ndump)
printf("\n");
}
static void dump_tracing(void)
{
int c;
c = inchar();
if (c == 'c')
ftrace_dump(DUMP_ORIG);
else
ftrace_dump(DUMP_ALL);
tracing_on();
}
#ifdef CONFIG_PPC64
static void dump_one_paca(int cpu)
{
@ -2507,6 +2521,11 @@ dump(void)
}
#endif
if (c == 't') {
dump_tracing();
return;
}
if (c == '\n')
termch = c;
@ -2525,9 +2544,6 @@ dump(void)
dump_log_buf();
} else if (c == 'o') {
dump_opal_msglog();
} else if (c == 't') {
ftrace_dump(DUMP_ALL);
tracing_on();
} else if (c == 'r') {
scanhex(&ndump);
if (ndump == 0)