On Tue, Mar 12, 2019 at 08:30:13AM +0300, Alexey Budankov wrote:
> 
> Compression is implemented using the functions from zstd.c. As the memory
> to operate on the compression uses mmap->aio.data[] buffers. If Zstd
> streaming compression API fails for some reason the data to be compressed
> are just copied into the memory buffers using plain memcpy().
> 
> Compressed trace frame consists of an array of PERF_RECORD_COMPRESSED
> records. Each element of the array is not longer that PERF_SAMPLE_MAX_SIZE
> and consists of perf_event_header followed by the compressed chunk
> that is decompressed on the loading stage.
> 
> perf_mmap__aio_push() is replaced by perf_mmap__push() which is now used
> in the both serial and AIO streaming cases. perf_mmap__push() is extended 
> with positive return values to signify absence of data ready for processing.
> 
> Signed-off-by: Alexey Budankov <alexey.budan...@linux.intel.com>
> ---
>  tools/perf/builtin-record.c | 110 ++++++++++++++++++++++++++++--------
>  tools/perf/util/mmap.c      |  76 +------------------------
>  tools/perf/util/mmap.h      |  12 ----
>  3 files changed, 87 insertions(+), 111 deletions(-)

nice stats for adding new feature ;-)

jirka

Reply via email to