Re: [PATCH v2 0/4] perf: enable compression of record mode trace to save storage space

From: Arnaldo Carvalho de Melo
Date: Tue Jan 29 2019 - 05:53:42 EST


Em Tue, Jan 29, 2019 at 11:45:43AM +0100, Arnaldo Carvalho de Melo escreveu:
> Em Mon, Jan 28, 2019 at 09:40:28AM +0300, Alexey Budankov escreveu:
> > The patch set implements runtime trace compression for record mode and
> > trace file decompression for report mode. Zstandard API [1] is used for
> > compression/decompression of data that come from perf_events kernel
>
> Interesting, wasn't aware of this zstd library, I wonder if we can add
> it and switch the other compression libraries we link against, so that
> we're not adding one more library to the dep list of perf but removing
> some instead, do you think this would be possible?
>
> $ ldd ~/bin/perf | wc -l
> 30
> $ ldd ~/bin/perf | grep z
> liblzma.so.5 => /lib64/liblzma.so.5 (0x00007f3dcc356000)
> libz.so.1 => /lib64/libz.so.1 (0x00007f3dcb2aa000)
> libbz2.so.1 => /lib64/libbz2.so.1 (0x00007f3dcb218000)
> $
>
> Humm, from the github page it says:
>
> -----
> The project is provided as an open-source dual BSD and GPLv2 licensed C
> library, and a command line utility producing and decoding .zst, .gz,
> .xz and .lz4 files. Should your project require another programming
> language, a list of known ports and bindings is provided on Zstandard
> homepage.
> -----
>
> So it would cover just liblzma and libz, right?

Nevermind;

[acme@quaco perf]$ zstdcat ~/git/perf/perf-5.0.0-rc2.tar.xz
zstd: /home/acme/git/perf/perf-5.0.0-rc2.tar.xz: xz/lzma file cannot be uncompressed (zstd compiled without HAVE_LZMA) -- ignored

So it handles those formats, _if_ linked with those libraries, duh.

- Arnaldo