aboutsummaryrefslogtreecommitdiff
path: root/tools/perf/scripts/python/netdev-times.py
diff options
context:
space:
mode:
authorChris Wilson <[email protected]>2020-01-20 10:49:22 +0000
committerChris Wilson <[email protected]>2020-01-20 15:38:37 +0000
commit7865559872074a9ab169c87915504661d630addf (patch)
treec0f299d13799b054ed3ea02d1b6a8b00dcbd2230 /tools/perf/scripts/python/netdev-times.py
parent814df0ce5ee631fc5299dd88310cba6078920625 (diff)
drm/i915/gem: Store mmap_offsets in an rbtree rather than a plain list
Currently we create a new mmap_offset for every call to mmap_offset_ioctl. This exposes ourselves to an abusive client that may simply create new mmap_offsets ad infinitum, which will exhaust physical memory and the virtual address space. In addition to the exhaustion, a very long linear list of mmap_offsets causes other clients using the object to incur long list walks -- these long lists can also be generated by simply having many clients generate their own mmap_offset. However, we can simply use the drm_vma_node itself to manage the file association (allow/revoke) dropping our need to keep an mmo per-file. Then if we keep a small rbtree of per-type mmap_offsets, we can lookup duplicate requests quickly. Fixes: cc662126b413 ("drm/i915: Introduce DRM_I915_GEM_MMAP_OFFSET") Signed-off-by: Chris Wilson <[email protected]> Cc: Abdiel Janulgue <[email protected]> Reviewed-by: Abdiel Janulgue <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
Diffstat (limited to 'tools/perf/scripts/python/netdev-times.py')
0 files changed, 0 insertions, 0 deletions