[PATCH 2/2] powerpc/xmon: Disable tracing when entering xmon

Naveen N. Rao naveen.n.rao at linux.vnet.ibm.com
Thu Aug 3 02:23:35 AEST 2017


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 <leitao at debian.org>

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 <naveen.n.rao at linux.vnet.ibm.com>

Thanks,
Naveen



More information about the Linuxppc-dev mailing list