[PATCH 01/17] perf cs-etm: Print error for new PERF_RECORD_AUX_OUTPUT_HW_ID versions

Anshuman Khandual anshuman.khandual at arm.com
Mon May 6 20:47:36 PDT 2024



On 4/29/24 20:51, James Clark wrote:
> The likely fix for this is to update Perf so print a helpful message.
> 
> Signed-off-by: James Clark <james.clark at arm.com>
> ---
>  tools/perf/util/cs-etm.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/tools/perf/util/cs-etm.c b/tools/perf/util/cs-etm.c
> index d65d7485886c..32818bd7cd17 100644
> --- a/tools/perf/util/cs-etm.c
> +++ b/tools/perf/util/cs-etm.c
> @@ -335,8 +335,11 @@ static int cs_etm__process_aux_output_hw_id(struct perf_session *session,
>  	trace_chan_id = FIELD_GET(CS_AUX_HW_ID_TRACE_ID_MASK, hw_id);
>  
>  	/* check that we can handle this version */
> -	if (version > CS_AUX_HW_ID_CURR_VERSION)
> +	if (version > CS_AUX_HW_ID_CURR_VERSION) {
> +		pr_err("CS ETM Trace: PERF_RECORD_AUX_OUTPUT_HW_ID version %d not supported. Please update Perf.\n",

Is not this bit misleading ? PERF_RECORD_AUX_OUTPUT_HW_ID is just the perf record
format identifier. The record version here, is derived from the platform specific
hardware ID information embedded in this perf record.

Should not this be just s/PERF_RECORD_AUX_OUTPUT_HW_ID/hardware ID/ instead ?

> +		       version);
>  		return -EINVAL;
> +	}
>  
>  	/* get access to the etm metadata */
>  	etm = container_of(session->auxtrace, struct cs_etm_auxtrace, auxtrace);



More information about the linux-arm-kernel mailing list