diff options
| author | Chris Wilson <[email protected]> | 2017-06-22 14:46:17 +0100 |
|---|---|---|
| committer | Daniel Vetter <[email protected]> | 2017-06-23 13:04:22 +0200 |
| commit | 71bb23c707c141b176bc084179ca5ee58d5fd26a (patch) | |
| tree | 25a55b7a4d5662793539a607ee11ea8bc65a22f1 /tools/perf/scripts/python/stackcollapse.py | |
| parent | 2bf5ccc25c5bc3c8eaf30c589f7d3a5e7490d3b9 (diff) | |
drm/vgem: Pin our pages for dmabuf exports
When the caller maps their dmabuf and we return an sg_table, the caller
doesn't expect the pages beneath that sg_table to vanish on a whim (i.e.
under mempressure). The contract is that the pages are pinned for the
duration of the mapping (from dma_buf_map_attachment() to
dma_buf_unmap_attachment). To comply, we need to introduce our own
vgem_object.pages_pin_count and elevate it across the mapping. However,
the drm_prime interface we use calls drv->prime_pin on dma_buf_attach
and drv->prime_unpin on dma_buf_detach, which while that does cover the
mapping is much broader than is desired -- but it will do for now.
v2: also hold the pin across prime_vmap/vunmap
Reported-by: Tomi Sarvela <[email protected]>
Testcase: igt/gem_concurrent_blit/*swap*vgem*
Fixes: 5ba6c9ff961a ("drm/vgem: Fix mmaping")
Signed-off-by: Chris Wilson <[email protected]>
Cc: Tomi Sarvela <[email protected]>
Cc: Laura Abbott <[email protected]>
Cc: Sean Paul <[email protected]>
Cc: Matthew Auld <[email protected]>
Cc: Daniel Vetter <[email protected]>
Cc: <[email protected]> # needs a backport
Signed-off-by: Daniel Vetter <[email protected]>
Link: http://patchwork.freedesktop.org/patch/msgid/[email protected]
Diffstat (limited to 'tools/perf/scripts/python/stackcollapse.py')
0 files changed, 0 insertions, 0 deletions