On 2017/08/02 11:58AM, 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 reenables it
> if the kernel is resumed (with 'x').
> 
> Signed-off-by: Breno Leitao <[email protected]>

Two minor nits...

> ---
>  arch/powerpc/xmon/xmon.c | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/powerpc/xmon/xmon.c b/arch/powerpc/xmon/xmon.c
> index 0cbd910193fa..0b766d7780fa 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 char tracing_enabled;
          ^^^^
          int

> 
>  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");
> @@ -2353,7 +2359,6 @@ static void dump_tracing(void)
>       else
>               ftrace_dump(DUMP_ALL);
> 
> -     tracing_on();
>  }

I'd also remove the extra blank line there.

Apart from those:
Acked-by: Naveen N. Rao <[email protected]>

Thanks,
Naveen

Reply via email to