Re: [PATCH 5.0 05/93] perf data: Dont store auxtrace index for directory data file

From: Dan Rue
Date: Thu Apr 18 2019 - 15:29:21 EST


On Thu, Apr 18, 2019 at 07:56:43PM +0200, Greg Kroah-Hartman wrote:
> [ Upstream commit cd3dd8dd8ff62374d90cb3f2e54b8c94106c7810 ]
>
> We can't store the auxtrace index when we store into multiple files,
> because we keep only offset for it, not the file.
>
> The auxtrace data will be processed correctly in the 'pipe' mode.
>
> Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx>
> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx>
> Cc: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx>
> Cc: Alexey Budankov <alexey.budankov@xxxxxxxxxxxxxxx>
> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx>
> Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
> Cc: Stephane Eranian <eranian@xxxxxxxxxx>
> Link: http://lkml.kernel.org/r/20190308134745.5057-3-jolsa@xxxxxxxxxx
> Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
> Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>
> ---
> tools/perf/builtin-record.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tools/perf/builtin-record.c b/tools/perf/builtin-record.c
> index 882285fb9f64..3fd154f1701b 100644
> --- a/tools/perf/builtin-record.c
> +++ b/tools/perf/builtin-record.c
> @@ -386,7 +386,7 @@ static int record__process_auxtrace(struct perf_tool *tool,
> size_t padding;
> u8 pad[8] = {0};
>
> - if (!perf_data__is_pipe(data)) {
> + if (!perf_data__is_pipe(data) && !perf_data__is_dir(data)) {

This causes the following build error on 5.0:

builtin-top.c: In function â__cmd_topâ:
builtin-top.c:1241:3: error: label âout_deleteâ used but not defined
goto out_delete;
^~~~
builtin-record.c: In function ârecord__process_auxtraceâ:
builtin-record.c:389:36: error: implicit declaration of function âperf_data__is_dirâ; did you mean âperf_data__is_pipeâ? [-Werror=implicit-function-declaration]
if (!perf_data__is_pipe(data) && !perf_data__is_dir(data)) {
^~~~~~~~~~~~~~~~~
perf_data__is_pipe
builtin-record.c:389:36: error: nested extern declaration of âperf_data__is_dirâ [-Werror=nested-externs]

Dropping the patch solves this error, though there is a second perf
related build error in this RC caused by 2c0bd03b5d20 ("perf top: Delete
the evlist before perf_session, fixing heap-use-after-free issue").


> off_t file_offset;
> int fd = perf_data__fd(data);
> int err;
> --
> 2.19.1
>
>
>

--
Linaro - Kernel Validation