linux/drivers/gpu/drm/msm
Sharat Masetty 1df4289d5b drm/msm: Optimize adreno_show_object()
When the userspace tries to read the crashstate dump, the read side
implementation in the driver currently ascii85 encodes all the binary
buffers and it does this each time the read system call is called.
A userspace tool like cat typically does a page by page read and the
number of read calls depends on the size of the data captured by the
driver. This is certainly not desirable and does not scale well with
large captures.

This patch encodes the buffer only once in the read path. With this there
is an immediate >10X speed improvement in crashstate save time.

Signed-off-by: Sharat Masetty <smasetty@codeaurora.org>
Reviewed-by: Jordan Crouse <jcrouse@codeaurora.org>
Signed-off-by: Rob Clark <robdclark@gmail.com>
2018-12-11 13:07:03 -05:00
..
adreno drm/msm: Optimize adreno_show_object() 2018-12-11 13:07:03 -05:00
disp drm/msm: Count how many times iova memory is pinned 2018-12-11 13:05:32 -05:00
dsi drm/msm: Add a name field for gem objects 2018-12-11 13:06:59 -05:00
edp drm: msm: Use DRM_DEV_* instead of dev_* 2018-12-11 13:05:22 -05:00
hdmi drm: msm: Use DRM_DEV_* instead of dev_* 2018-12-11 13:05:22 -05:00
Kconfig drm/msm/gpu: Capture the GPU state on a GPU hang 2018-07-30 08:49:56 -04:00
Makefile drm/msm/a6xx: Add a6xx gpu state 2018-12-11 13:05:30 -05:00
msm_atomic.c drm: extract drm_atomic_uapi.c 2018-09-09 14:19:18 +02:00
msm_debugfs.c drm: msm: Use DRM_DEV_* instead of dev_* 2018-12-11 13:05:22 -05:00
msm_debugfs.h drm/msm: Remove msm_debugfs_cleanup() 2017-03-08 11:24:45 +01:00
msm_drv.c drm/msm: Add a name field for gem objects 2018-12-11 13:06:59 -05:00
msm_drv.h drm/msm: Add a name field for gem objects 2018-12-11 13:06:59 -05:00
msm_fb.c drm/msm: Add a name field for gem objects 2018-12-11 13:06:59 -05:00
msm_fbdev.c drm/msm: Add msm_gem_get_and_pin_iova() 2018-12-11 13:05:32 -05:00
msm_fence.c drm/msm: Remove unecessary dma_fence_ops 2018-08-17 11:22:25 +02:00
msm_fence.h drm/msm: strip out msm_fence_cb 2018-03-19 06:33:35 -04:00
msm_gem_prime.c drm/msm: Expose our reservation object when exporting a dmabuf. 2017-05-27 13:48:26 -04:00
msm_gem_shrinker.c drm/msm: Separate locking of buffer resources from struct_mutex 2017-06-17 08:03:07 -04:00
msm_gem_submit.c drm/msm: Count how many times iova memory is pinned 2018-12-11 13:05:32 -05:00
msm_gem_vma.c drm/msm: Count how many times iova memory is pinned 2018-12-11 13:05:32 -05:00
msm_gem.c drm/msm: Add a name field for gem objects 2018-12-11 13:06:59 -05:00
msm_gem.h drm/msm: Add a name field for gem objects 2018-12-11 13:06:59 -05:00
msm_gpu_trace.h drm/msm/gpu: Add trace events for tracking GPU submissions 2018-12-11 13:05:28 -05:00
msm_gpu_tracepoints.c drm/msm/gpu: Add trace events for tracking GPU submissions 2018-12-11 13:05:28 -05:00
msm_gpu.c drm/msm: Add a name field for gem objects 2018-12-11 13:06:59 -05:00
msm_gpu.h drm/msm: Optimize adreno_show_object() 2018-12-11 13:07:03 -05:00
msm_iommu.c drm/msm: Remove sgt from the mmu unmap function 2018-12-11 13:05:31 -05:00
msm_kms.h drm/msm: Cut dpu_kms hooks from msm_pm_suspend/resume 2018-12-11 12:51:27 -05:00
msm_mmu.h drm/msm: Remove sgt from the mmu unmap function 2018-12-11 13:05:31 -05:00
msm_perf.c drm/msm: Remove msm_debugfs_cleanup() 2017-03-08 11:24:45 +01:00
msm_rd.c drm/msm/rd: fix crash with long process cmdlines 2018-10-03 20:24:54 -04:00
msm_ringbuffer.c drm/msm/gpu: Map the ringbuffer in the iova at create time 2018-12-11 13:07:03 -05:00
msm_ringbuffer.h drm/msm/gpu: Add per-submission statistics 2018-12-11 13:05:28 -05:00
msm_submitqueue.c drm/msm: Support multiple ringbuffers 2017-10-28 11:01:36 -04:00
NOTES