Re: [PATCH 4.19 005/110] perf data: Dont store auxtrace index for directory data file

2019-04-18 Thread Dan Rue
On Thu, Apr 18, 2019 at 07:55:54PM +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 
> Cc: Adrian Hunter 
> Cc: Alexander Shishkin 
> Cc: Alexey Budankov 
> Cc: Andi Kleen 
> Cc: Namhyung Kim 
> Cc: Peter Zijlstra 
> Cc: Stephane Eranian 
> Link: http://lkml.kernel.org/r/20190308134745.5057-3-jo...@kernel.org
> Signed-off-by: Arnaldo Carvalho de Melo 
> Signed-off-by: Sasha Levin 
> ---
>  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 22ebeb92ac51..f5b438486a64 100644
> --- a/tools/perf/builtin-record.c
> +++ b/tools/perf/builtin-record.c
> @@ -178,7 +178,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 one causes a build failure when building perf:

builtin-record.c: In function ‘record__process_auxtrace’:
builtin-record.c:181: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:181:36: error: nested extern declaration of 
‘perf_data__is_dir’ [-Werror=nested-externs]

It seems to require 258031c017c3 ("perf header: Add DIR_FORMAT feature
to describe directory data"), which doesn't backport cleanly. Dropping
f54f24d0f19a ("perf data: Don't store auxtrace index for directory data
file") does seem to fix the issue.

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

-- 
Linaro - Kernel Validation


[PATCH 4.19 005/110] perf data: Dont store auxtrace index for directory data file

2019-04-18 Thread Greg Kroah-Hartman
[ 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 
Cc: Adrian Hunter 
Cc: Alexander Shishkin 
Cc: Alexey Budankov 
Cc: Andi Kleen 
Cc: Namhyung Kim 
Cc: Peter Zijlstra 
Cc: Stephane Eranian 
Link: http://lkml.kernel.org/r/20190308134745.5057-3-jo...@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo 
Signed-off-by: Sasha Levin 
---
 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 22ebeb92ac51..f5b438486a64 100644
--- a/tools/perf/builtin-record.c
+++ b/tools/perf/builtin-record.c
@@ -178,7 +178,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)) {
off_t file_offset;
int fd = perf_data__fd(data);
int err;
-- 
2.19.1