summaryrefslogtreecommitdiffstats
path: root/tools/perf/util/tool.h
diff options
context:
space:
mode:
authorAlexey Budankov <alexey.budankov@linux.intel.com>2019-03-18 20:44:12 +0300
committerArnaldo Carvalho de Melo <acme@redhat.com>2019-05-15 16:36:49 -0300
commitef781128e47e73f0e5b2ad385cfa685a0719456a (patch)
tree7701f3c1173c36e07a3404fd28256a8c4ee94ee3 /tools/perf/util/tool.h
parent5d7f41164930ecc1797702b7f9728ac702609ef3 (diff)
downloadlinux-ef781128e47e73f0e5b2ad385cfa685a0719456a.tar.gz
linux-ef781128e47e73f0e5b2ad385cfa685a0719456a.tar.bz2
linux-ef781128e47e73f0e5b2ad385cfa685a0719456a.zip
perf record: Implement compression for AIO trace streaming
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.budankov@linux.intel.com> Reviewed-by: Jiri Olsa <jolsa@kernel.org> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Andi Kleen <ak@linux.intel.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Link: http://lkml.kernel.org/r/77db2b2c-5d03-dbb0-aeac-c4dd92129ab9@linux.intel.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/util/tool.h')
0 files changed, 0 insertions, 0 deletions