[PATCH V5 5/8] perf/tools: Add system error and not in transaction branch types

James Clark james.clark at arm.com
Tue Apr 19 06:58:01 PDT 2022



On 04/04/2022 05:50, Anshuman Khandual wrote:
> This updates the perf tool with generic branch type classification with two
> new branch types i.e system error (PERF_BR_SERROR) and not in transaction
> (PERF_BR_NO_TX) which got updated earlier in the kernel. This also updates
> corresponding branch type strings in branch_type_name().
> 
> Cc: Peter Zijlstra <peterz at infradead.org>
> Cc: Ingo Molnar <mingo at redhat.com>
> Cc: Arnaldo Carvalho de Melo <acme at kernel.org>
> Cc: Mark Rutland <mark.rutland at arm.com>
> Cc: Alexander Shishkin <alexander.shishkin at linux.intel.com>
> Cc: Jiri Olsa <jolsa at redhat.com>
> Cc: Namhyung Kim <namhyung at kernel.org>
> Cc: Thomas Gleixner <tglx at linutronix.de>
> Cc: Will Deacon <will at kernel.org>
> Cc: linux-arm-kernel at lists.infradead.org
> Cc: linux-perf-users at vger.kernel.org
> Cc: linux-kernel at vger.kernel.org
> Signed-off-by: Anshuman Khandual <anshuman.khandual at arm.com>
Reviewed-by: James Clark <james.clark at arm.com>

> ---
>  tools/include/uapi/linux/perf_event.h | 2 ++
>  tools/perf/util/branch.c              | 4 +++-
>  2 files changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/tools/include/uapi/linux/perf_event.h b/tools/include/uapi/linux/perf_event.h
> index d37629dbad72..26d8f0b5ac0d 100644
> --- a/tools/include/uapi/linux/perf_event.h
> +++ b/tools/include/uapi/linux/perf_event.h
> @@ -253,6 +253,8 @@ enum {
>  	PERF_BR_COND_RET	= 10,	/* conditional function return */
>  	PERF_BR_ERET		= 11,	/* exception return */
>  	PERF_BR_IRQ		= 12,	/* irq */
> +	PERF_BR_SERROR		= 13,	/* system error */
> +	PERF_BR_NO_TX		= 14,	/* not in transaction */
>  	PERF_BR_MAX,
>  };
>  
> diff --git a/tools/perf/util/branch.c b/tools/perf/util/branch.c
> index a9a909db8cc7..abc673347bee 100644
> --- a/tools/perf/util/branch.c
> +++ b/tools/perf/util/branch.c
> @@ -51,7 +51,9 @@ const char *branch_type_name(int type)
>  		"COND_CALL",
>  		"COND_RET",
>  		"ERET",
> -		"IRQ"
> +		"IRQ",
> +		"SERROR",
> +		"NO_TX"
>  	};
>  
>  	if (type >= 0 && type < PERF_BR_MAX)



More information about the linux-arm-kernel mailing list