diff options
author | Alexey Budankov <[email protected]> | 2019-03-18 20:44:12 +0300 |
---|---|---|
committer | Arnaldo Carvalho de Melo <[email protected]> | 2019-05-15 16:36:49 -0300 |
commit | ef781128e47e73f0e5b2ad385cfa685a0719456a (patch) | |
tree | 7701f3c1173c36e07a3404fd28256a8c4ee94ee3 /drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | |
parent | 5d7f41164930ecc1797702b7f9728ac702609ef3 (diff) |
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 <[email protected]>
Reviewed-by: Jiri Olsa <[email protected]>
Cc: Alexander Shishkin <[email protected]>
Cc: Andi Kleen <[email protected]>
Cc: Namhyung Kim <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_object.c')
0 files changed, 0 insertions, 0 deletions