[PATCH] perf script: Always allow field 'data_src' for auxtrace

Leo Yan posted 1 patch 4 years ago
tools/perf/builtin-script.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] perf script: Always allow field 'data_src' for auxtrace
Posted by Leo Yan 4 years ago
If use command 'perf script -F,+data_src' to dump memory samples with
Arm SPE trace data, it reports error:

  # perf script -F,+data_src
  Samples for 'dummy:u' event do not have DATA_SRC attribute set. Cannot print 'data_src' field.

This is because the 'dummy:u' event is absent DATA_SRC bit in its sample
type, so if a file contains AUX area tracing data then always allow
field 'data_src' to be selected as an option for perf script.

Fixes: e55ed3423c1b ("perf arm-spe: Synthesize memory event")
Signed-off-by: Leo Yan <leo.yan@linaro.org>
---
 tools/perf/builtin-script.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/perf/builtin-script.c b/tools/perf/builtin-script.c
index a2f117936188..cf5eab5431b4 100644
--- a/tools/perf/builtin-script.c
+++ b/tools/perf/builtin-script.c
@@ -461,7 +461,7 @@ static int evsel__check_attr(struct evsel *evsel, struct perf_session *session)
 		return -EINVAL;
 
 	if (PRINT_FIELD(DATA_SRC) &&
-	    evsel__check_stype(evsel, PERF_SAMPLE_DATA_SRC, "DATA_SRC", PERF_OUTPUT_DATA_SRC))
+	    evsel__do_check_stype(evsel, PERF_SAMPLE_DATA_SRC, "DATA_SRC", PERF_OUTPUT_DATA_SRC, allow_user_set))
 		return -EINVAL;
 
 	if (PRINT_FIELD(WEIGHT) &&
-- 
2.25.1
Re: [PATCH] perf script: Always allow field 'data_src' for auxtrace
Posted by Arnaldo Carvalho de Melo 4 years ago
Em Sun, Apr 17, 2022 at 07:48:37PM +0800, Leo Yan escreveu:
> If use command 'perf script -F,+data_src' to dump memory samples with
> Arm SPE trace data, it reports error:
> 
>   # perf script -F,+data_src
>   Samples for 'dummy:u' event do not have DATA_SRC attribute set. Cannot print 'data_src' field.
> 
> This is because the 'dummy:u' event is absent DATA_SRC bit in its sample
> type, so if a file contains AUX area tracing data then always allow
> field 'data_src' to be selected as an option for perf script.

Thanks, applied to perf/urgent.

- Arnaldo

 
> Fixes: e55ed3423c1b ("perf arm-spe: Synthesize memory event")
> Signed-off-by: Leo Yan <leo.yan@linaro.org>
> ---
>  tools/perf/builtin-script.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/tools/perf/builtin-script.c b/tools/perf/builtin-script.c
> index a2f117936188..cf5eab5431b4 100644
> --- a/tools/perf/builtin-script.c
> +++ b/tools/perf/builtin-script.c
> @@ -461,7 +461,7 @@ static int evsel__check_attr(struct evsel *evsel, struct perf_session *session)
>  		return -EINVAL;
>  
>  	if (PRINT_FIELD(DATA_SRC) &&
> -	    evsel__check_stype(evsel, PERF_SAMPLE_DATA_SRC, "DATA_SRC", PERF_OUTPUT_DATA_SRC))
> +	    evsel__do_check_stype(evsel, PERF_SAMPLE_DATA_SRC, "DATA_SRC", PERF_OUTPUT_DATA_SRC, allow_user_set))
>  		return -EINVAL;
>  
>  	if (PRINT_FIELD(WEIGHT) &&
> -- 
> 2.25.1

-- 

- Arnaldo