Skip to content

Commit

Permalink
powerpc/xmon: Disable tracing when entering xmon
Browse files Browse the repository at this point in the history
If tracing is enabled and you get into xmon, the tracing buffer
continues to be updated, causing possible loss of data and unnecessary
tracing information coming from xmon functions.

This patch simple disables tracing when entering xmon, and re-enables it
if the kernel is resumed (with 'x').

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>
  • Loading branch information
Breno Leitao authored and Michael Ellerman committed Aug 14, 2017
1 parent 4125d01 commit ed49f7f
Showing 1 changed file with 6 additions and 2 deletions.
8 changes: 6 additions & 2 deletions arch/powerpc/xmon/xmon.c
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,7 @@ static unsigned long nidump = 16;
static unsigned long ncsum = 4096;
static int termch;
static char tmpstr[128];
static int tracing_enabled;

static long bus_error_jmp[JMP_BUF_LEN];
static int catch_memory_errors;
Expand Down Expand Up @@ -462,6 +463,9 @@ static int xmon_core(struct pt_regs *regs, int fromipi)
local_irq_save(flags);
hard_irq_disable();

tracing_enabled = tracing_is_on();
tracing_off();

bp = in_breakpoint_table(regs->nip, &offset);
if (bp != NULL) {
regs->nip = bp->address + offset;
Expand Down Expand Up @@ -982,6 +986,8 @@ cmds(struct pt_regs *excp)
break;
case 'x':
case 'X':
if (tracing_enabled)
tracing_on();
return cmd;
case EOF:
printf(" <no input ...>\n");
Expand Down Expand Up @@ -2241,8 +2247,6 @@ static void dump_tracing(void)
ftrace_dump(DUMP_ORIG);
else
ftrace_dump(DUMP_ALL);

tracing_on();
}

#ifdef CONFIG_PPC64
Expand Down

0 comments on commit ed49f7f

Please sign in to comment.