2022-04-18 04:11:03

by Leo Yan

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

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 <[email protected]>
---
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


2022-04-19 03:39:09

by Arnaldo Carvalho de Melo

[permalink] [raw]
Subject: Re: [PATCH] perf script: Always allow field 'data_src' for auxtrace

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 <[email protected]>
> ---
> 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