Message ID | 1501704846-22625-2-git-send-email-leitao@debian.org (mailing list archive) |
---|---|
State | Accepted |
Commit | ed49f7fd6438dcc8c93fa7d1d7d815e47c7115dd |
Headers | show |
On Wed, 2017-08-02 at 20:14:06 UTC, Breno Leitao wrote: > 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> Applied to powerpc next, thanks. https://git.kernel.org/powerpc/c/ed49f7fd6438dcc8c93fa7d1d7d815 cheers
diff --git a/arch/powerpc/xmon/xmon.c b/arch/powerpc/xmon/xmon.c index e0522f60f0ee..d038e7db44c4 100644 --- a/arch/powerpc/xmon/xmon.c +++ b/arch/powerpc/xmon/xmon.c @@ -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; @@ -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; @@ -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"); @@ -2241,8 +2247,6 @@ static void dump_tracing(void) ftrace_dump(DUMP_ORIG); else ftrace_dump(DUMP_ALL); - - tracing_on(); } #ifdef CONFIG_PPC64