Re: [PATCH v2 3/4] perf record: enable runtime trace compression

From: Jiri Olsa
Date: Tue Feb 12 2019 - 08:09:31 EST


On Mon, Feb 11, 2019 at 11:23:40PM +0300, Alexey Budankov wrote:

SNIP

> diff --git a/tools/perf/util/mmap.c b/tools/perf/util/mmap.c
> index 239e9a13c2b7..980784b77fe2 100644
> --- a/tools/perf/util/mmap.c
> +++ b/tools/perf/util/mmap.c
> @@ -156,6 +156,86 @@ void __weak auxtrace_mmap_params__set_idx(struct auxtrace_mmap_params *mp __mayb
> {
> }
>
> +static ssize_t perf_mmap__capture(struct perf_mmap *md, int idx,
> + perf_mmap__compress_fn_t compress, void *where)

what's the point of casting perf_session* to void* ? all the way down to
the compression, where you cast it back?

SNIP

> +int perf_session__zstd_fini(struct perf_session *session)
> +{
> + if (session->zstd_cstream) {
> + ZSTD_freeCStream(session->zstd_cstream);
> + session->zstd_cstream = NULL;
> + }
> +
> + return 0;
> +}
> +
> +size_t perf_session__zstd_compress(void *to, void *dst, size_t dst_size,
> + void *src, size_t src_size)
> +{
> + struct perf_session *session = to;

in here... it could be just struct perf_session* no?

jirka