[PATCH v1 0/8] Correct inject's handling of pipe files on disk

Ian Rogers posted 8 patches 1 year, 5 months ago
tools/perf/builtin-inject.c         |  60 +++++------
tools/perf/builtin-report.c         |   1 +
tools/perf/tests/shell/pipe_test.sh |  26 +++++
tools/perf/util/header.c            | 151 +++++++++++++++++-----------
tools/perf/util/header.h            |  21 +++-
tools/perf/util/session.c           |  12 +--
tools/perf/util/session.h           |  52 +++++++++-
7 files changed, 223 insertions(+), 100 deletions(-)
[PATCH v1 0/8] Correct inject's handling of pipe files on disk
Posted by Ian Rogers 1 year, 5 months ago
Perf inject tried to repipe the header, but this isn't possible if the
input is a pipe and the output a file, as the attributes are events in
pipe mode. Add an ability to write the attributes after the data so
writing the header doesn't need a possibly too large or small region
reserved for the attributes. Add testing for the case of a pipe mode
file on disk, add checks that the perf file's header isn't obviously
corrupt by having the header, data or attribute sections overlap. Add
more comments.

Ian Rogers (8):
  perf report: Name events in stats for pipe mode
  perf session: Document struct and constify auxtrace
  perf header: Add kerneldoc to perf_file_header
  perf header: Fail read if header sections overlap
  perf header: Allow attributes to be written after data
  perf inject: Overhaul handling of pipe files
  perf header: Remove repipe option
  perf test: Additional pipe tests with pipe output written to a file

 tools/perf/builtin-inject.c         |  60 +++++------
 tools/perf/builtin-report.c         |   1 +
 tools/perf/tests/shell/pipe_test.sh |  26 +++++
 tools/perf/util/header.c            | 151 +++++++++++++++++-----------
 tools/perf/util/header.h            |  21 +++-
 tools/perf/util/session.c           |  12 +--
 tools/perf/util/session.h           |  52 +++++++++-
 7 files changed, 223 insertions(+), 100 deletions(-)

-- 
2.46.0.295.g3b9ea8a38a-goog
Re: [PATCH v1 0/8] Correct inject's handling of pipe files on disk
Posted by Ian Rogers 1 year, 5 months ago
On Thu, Aug 29, 2024 at 8:02 AM Ian Rogers <irogers@google.com> wrote:
>
> Perf inject tried to repipe the header, but this isn't possible if the
> input is a pipe and the output a file, as the attributes are events in
> pipe mode. Add an ability to write the attributes after the data so
> writing the header doesn't need a possibly too large or small region
> reserved for the attributes. Add testing for the case of a pipe mode
> file on disk, add checks that the perf file's header isn't obviously
> corrupt by having the header, data or attribute sections overlap. Add
> more comments.
>
> Ian Rogers (8):
>   perf report: Name events in stats for pipe mode
>   perf session: Document struct and constify auxtrace
>   perf header: Add kerneldoc to perf_file_header
>   perf header: Fail read if header sections overlap
>   perf header: Allow attributes to be written after data
>   perf inject: Overhaul handling of pipe files
>   perf header: Remove repipe option
>   perf test: Additional pipe tests with pipe output written to a file

Sorry, patch 1 was a resend of a patch merged yesterday. Please ignore.

Thanks,
Ian

>  tools/perf/builtin-inject.c         |  60 +++++------
>  tools/perf/builtin-report.c         |   1 +
>  tools/perf/tests/shell/pipe_test.sh |  26 +++++
>  tools/perf/util/header.c            | 151 +++++++++++++++++-----------
>  tools/perf/util/header.h            |  21 +++-
>  tools/perf/util/session.c           |  12 +--
>  tools/perf/util/session.h           |  52 +++++++++-
>  7 files changed, 223 insertions(+), 100 deletions(-)
>
> --
> 2.46.0.295.g3b9ea8a38a-goog
>