Re: [PATCH v9 00/12] perf: enable compression of record mode trace to save storage space

From: Jiri Olsa
Date: Mon Mar 18 2019 - 07:46:29 EST


On Sat, Mar 16, 2019 at 11:58:30AM +0300, Alexey Budankov wrote:

SNIP

> ---
> Alexey Budankov (12):
> feature: implement libzstd check, LIBZSTD_DIR and NO_LIBZSTD defines
> perf record: implement --mmap-flush=<number> option
> perf session: define bytes_transferred and bytes_compressed metrics
> perf record: implement COMPRESSED event record and its attributes
> perf mmap: implement dedicated memory buffer for data compression
> perf util: introduce Zstd streaming based compression API
> perf record: implement compression for serial trace streaming
> perf record: implement compression for AIO trace streaming
> perf record: implement -z,--compression_level[=<n>] option
> perf report: implement record trace decompression
> perf inject: enable COMPRESSED records decompression
> perf tests: implement Zstd comp/decomp integration test
>
> tools/build/Makefile.feature | 6 +-
> tools/build/feature/Makefile | 6 +-
> tools/build/feature/test-all.c | 5 +
> tools/build/feature/test-libzstd.c | 12 +
> tools/perf/Documentation/perf-record.txt | 17 ++
> .../Documentation/perf.data-file-format.txt | 24 ++
> tools/perf/Makefile.config | 20 ++
> tools/perf/Makefile.perf | 3 +
> tools/perf/builtin-inject.c | 4 +
> tools/perf/builtin-record.c | 285 +++++++++++++++---
> tools/perf/builtin-report.c | 5 +-
> tools/perf/builtin-version.c | 2 +
> tools/perf/perf.h | 2 +
> .../tests/shell/record+zstd_comp_decomp.sh | 28 ++
> tools/perf/util/Build | 2 +
> tools/perf/util/compress.h | 54 ++++
> tools/perf/util/env.h | 11 +
> tools/perf/util/event.c | 1 +
> tools/perf/util/event.h | 7 +
> tools/perf/util/evlist.c | 8 +-
> tools/perf/util/evlist.h | 3 +-
> tools/perf/util/header.c | 55 +++-
> tools/perf/util/header.h | 1 +
> tools/perf/util/mmap.c | 106 ++-----
> tools/perf/util/mmap.h | 17 +-
> tools/perf/util/session.c | 124 +++++++-
> tools/perf/util/session.h | 14 +
> tools/perf/util/tool.h | 2 +
> tools/perf/util/zstd.c | 111 +++++++
> 29 files changed, 801 insertions(+), 134 deletions(-)
> create mode 100644 tools/build/feature/test-libzstd.c
> create mode 100755 tools/perf/tests/shell/record+zstd_comp_decomp.sh
> create mode 100644 tools/perf/util/zstd.c
>
> ---
> Changes in v9:
> - fixed issue with improper max COMPRESSED record size calculation
> - moved up calculation of ratio variable in 03/12
> - made minor corrections in changelogs
> - corrected several checkpatch.pl warnings and errors

apart from 2 comments I'm ok with this patchset

Reviewed-by: Jiri Olsa <jolsa@xxxxxxxxxx>

thanks a lot,
jirka