perf session: Avoid calling lseek(2) for pipe
We should not call lseek(2) for pipes as it won't work. And we already in the proper place to read the data for AUXTRACE. Add the comment like in the PERF_RECORD_HEADER_TRACING_DATA. Reviewed-by: Adrian Hunter <adrian.hunter@intel.com> Reviewed-by: James Clark <james.clark@arm.com> Signed-off-by: Namhyung Kim <namhyung@kernel.org> Cc: Ian Rogers <irogers@google.com> Cc: Ingo Molnar <mingo@kernel.org> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Leo Yan <leo.yan@linaro.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Stephane Eranian <eranian@google.com> Link: https://lore.kernel.org/r/20230131023350.1903992-4-namhyung@kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
aeb802f872
commit
14bf478441
@ -1699,8 +1699,13 @@ static s64 perf_session__process_user_event(struct perf_session *session,
|
||||
case PERF_RECORD_AUXTRACE_INFO:
|
||||
return tool->auxtrace_info(session, event);
|
||||
case PERF_RECORD_AUXTRACE:
|
||||
/* setup for reading amidst mmap */
|
||||
lseek(fd, file_offset + event->header.size, SEEK_SET);
|
||||
/*
|
||||
* Setup for reading amidst mmap, but only when we
|
||||
* are in 'file' mode. The 'pipe' fd is in proper
|
||||
* place already.
|
||||
*/
|
||||
if (!perf_data__is_pipe(session->data))
|
||||
lseek(fd, file_offset + event->header.size, SEEK_SET);
|
||||
return tool->auxtrace(session, event);
|
||||
case PERF_RECORD_AUXTRACE_ERROR:
|
||||
perf_session__auxtrace_error_inc(session, event);
|
||||
|
Loading…
x
Reference in New Issue
Block a user