mirror_ubuntu-kernels/drivers/gpu/drm/i915/gem
Tvrtko Ursulin e4ae85e364 drm/i915: Add ability for tracking buffer objects per client
In order to show per client memory usage lets add some infrastructure
which enables tracking buffer objects owned by clients.

We add a per client list protected by a new per client lock and to support
delayed destruction (post client exit) we make tracked objects hold
references to the owning client.

Also, object memory region teardown is moved to the existing RCU free
callback to allow safe dereference from the fdinfo RCU read section.

Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Reviewed-by: Aravind Iddamsetty <aravind.iddamsetty@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20231107101806.608990-1-tvrtko.ursulin@linux.intel.com
2023-11-10 11:48:50 +00:00
..
selftests Merge tag 'drm-intel-next-2023-09-29' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2023-10-04 13:55:19 +10:00
i915_gem_busy.c
i915_gem_clflush.c drm/i915: add minimal i915_gem_object_frontbuffer.h 2023-08-31 18:41:34 +03:00
i915_gem_clflush.h
i915_gem_context_types.h
i915_gem_context.c drm/i915: Fix potential spectre vulnerability 2023-11-06 08:59:34 +00:00
i915_gem_context.h
i915_gem_create.c drm/i915: Replace several IS_METEORLAKE with proper IP version checks 2023-08-21 16:57:36 -07:00
i915_gem_create.h
i915_gem_dmabuf.c drm: Don't assert held reservation lock for dma-buf mmapping 2023-06-21 20:22:20 +03:00
i915_gem_dmabuf.h
i915_gem_domain.c drm/i915: add minimal i915_gem_object_frontbuffer.h 2023-08-31 18:41:34 +03:00
i915_gem_domain.h
i915_gem_execbuffer.c drm: i915: Adapt to -Walloc-size 2023-11-09 13:05:17 +02:00
i915_gem_internal.c mm, treewide: redefine MAX_ORDER sanely 2023-04-05 19:42:46 -07:00
i915_gem_internal.h
i915_gem_ioctls.h
i915_gem_lmem.c drm/i915/gem: Flush lmem contents after construction 2023-03-23 12:25:50 +01:00
i915_gem_lmem.h
i915_gem_mman.c drm/i915: Retry gtt fault when out of fence registers 2023-10-16 18:46:50 +03:00
i915_gem_mman.h drm/i915: Add a function to mmap framebuffer obj 2023-04-06 18:20:35 +02:00
i915_gem_object_frontbuffer.h drm/i915: add minimal i915_gem_object_frontbuffer.h 2023-08-31 18:41:34 +03:00
i915_gem_object_types.h drm/i915: Add ability for tracking buffer objects per client 2023-11-10 11:48:50 +00:00
i915_gem_object.c drm/i915: Add ability for tracking buffer objects per client 2023-11-10 11:48:50 +00:00
i915_gem_object.h Merge drm/drm-next into drm-intel-next 2023-09-15 11:23:38 +03:00
i915_gem_pages.c drm/i915: Invalidate the TLBs on each GT 2023-10-03 18:54:20 +02:00
i915_gem_phys.c drm/i915: add minimal i915_gem_object_frontbuffer.h 2023-08-31 18:41:34 +03:00
i915_gem_pm.c
i915_gem_pm.h
i915_gem_region.c
i915_gem_region.h drm/i915/gem: fix function pointer member kernel-doc 2023-05-05 11:28:33 +03:00
i915_gem_shmem.c i915: Limit the length of an sg list to the requested length 2023-09-21 12:01:16 +02:00
i915_gem_shrinker.c drm/i915/gem: Make i915_gem_shrinker multi-gt aware 2023-09-30 12:35:43 +02:00
i915_gem_shrinker.h
i915_gem_stolen.c drm/i915/mtl: Add Wa_14019821291 2023-11-01 15:57:13 -07:00
i915_gem_stolen.h drm/i915: Move stolen memory handling into i915_gem_stolen 2023-08-07 08:26:45 +03:00
i915_gem_throttle.c
i915_gem_tiling.c
i915_gem_tiling.h
i915_gem_ttm_move.c drm/i915: use pat_index instead of cache_level 2023-05-11 17:38:55 +02:00
i915_gem_ttm_move.h
i915_gem_ttm_pm.c Merge tag 'drm-intel-gt-next-2023-04-06' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2023-04-06 14:21:00 +02:00
i915_gem_ttm_pm.h
i915_gem_ttm.c Merge tag 'drm-intel-gt-next-2023-04-06' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2023-04-06 14:21:00 +02:00
i915_gem_ttm.h drm/i915/ttm: fix i915_ttm_to_gem() kernel-doc 2023-05-05 11:29:01 +03:00
i915_gem_userptr.c
i915_gem_userptr.h
i915_gem_wait.c drm/i915: Avoid -Wconstant-logical-operand in nsecs_to_jiffies_timeout() 2023-07-27 13:01:28 -03:00
i915_gemfs.c
i915_gemfs.h