On 21.02.2019 12:43, Jiri Olsa wrote: > On Wed, Feb 20, 2019 at 05:53:17PM +0300, Alexey Budankov wrote: >> >> On 12.02.2019 16:08, Jiri Olsa wrote: >>> On Mon, Feb 11, 2019 at 11:23:40PM +0300, Alexey Budankov wrote: >>> >>> SNIP >>> >>>> @@ -774,6 +775,8 @@ static int record__mmap_read_evlist(struct record >>>> *rec, struct perf_evlist *evli >>>> struct perf_mmap *maps; >>>> int trace_fd = rec->data.file.fd; >>>> off_t off; >>>> + struct perf_session *session = rec->session; >>>> + perf_mmap__compress_fn_t compress_fn; >>>> >>>> if (!evlist) >>>> return 0; >>>> @@ -785,6 +788,9 @@ static int record__mmap_read_evlist(struct record >>>> *rec, struct perf_evlist *evli >>>> if (overwrite && evlist->bkw_mmap_state != BKW_MMAP_DATA_PENDING) >>>> return 0; >>>> >>>> + compress_fn = (record__comp_enabled(rec) ? >>>> + perf_session__zstd_compress : perf_session__zstd_copy); >>>> + >>> >>> I don't follow what's the perf_session__zstd_copy function for..? >> >> It bridges AIO without compression case. > > so current state then.. why do we need new function for that?
This copy() function has the same signature as compress() so it can be used as the replacement in the _pack() call instead of memcpy() with different signature. Thanks, Alexey > > jirka