linux/drivers/gpu/drm/vmwgfx
Thomas Hellstrom e14c02e6b6 drm/vmwgfx: Look up objects without taking a reference
Typically when we look up objects under the rcu lock, we take a reference
to make sure the returned object pointer is valid.
Now provide a function to look up an object and instead of taking a
reference to it, keep the rcu lock held when returning the object pointer.
This means that the object pointer is valid as long as the rcu lock is
held, but the object may be doomed (its refcount may be zero). Any
persistent usage of the object pointer outside of the rcu lock requires
a reference to be taken using kref_get_unless_zero().

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Sinclair Yeh <syeh@vmware.com>
2018-09-27 16:14:48 +02:00
..
device_include Merge tag 'vmwgfx-next-4.19-3' of git://people.freedesktop.org/~thomash/linux into drm-next 2018-07-10 11:13:39 +10:00
Kconfig drm/vmwgfx: add SPDX idenitifier and clarify license 2018-06-29 15:28:48 -05:00
Makefile drm/vmwgfx: Add a validation module v2 2018-09-27 15:21:35 +02:00
ttm_lock.c drm/vmwgfx: Make the object handles idr-generated 2018-09-27 16:14:18 +02:00
ttm_lock.h drm/ttm, drm/vmwgfx: Move the lock- and object functionality to the vmwgfx driver 2018-09-27 15:19:20 +02:00
ttm_object.c drm/vmwgfx: Look up objects without taking a reference 2018-09-27 16:14:48 +02:00
ttm_object.h drm/vmwgfx: Look up objects without taking a reference 2018-09-27 16:14:48 +02:00
vmwgfx_binding.c drm/vmwgfx: add SPDX idenitifier and clarify license 2018-06-29 15:28:48 -05:00
vmwgfx_binding.h drm/vmwgfx: add SPDX idenitifier and clarify license 2018-06-29 15:28:48 -05:00
vmwgfx_blit.c drm/vmwgfx: add SPDX idenitifier and clarify license 2018-06-29 15:28:48 -05:00
vmwgfx_bo.c drm/vmwgfx: Make the object handles idr-generated 2018-09-27 16:14:18 +02:00
vmwgfx_cmdbuf_res.c drm/vmwgfx: add SPDX idenitifier and clarify license 2018-06-29 15:28:48 -05:00
vmwgfx_cmdbuf.c drm/vmwgfx: Replace unconditional mutex unlocked warnings with lockdep counterpart 2018-09-27 15:21:37 +02:00
vmwgfx_context.c drm/vmwgfx: Make the object handles idr-generated 2018-09-27 16:14:18 +02:00
vmwgfx_cotable.c drm/vmwgfx: Remove the resource avail field 2018-09-27 15:21:37 +02:00
vmwgfx_drv.c drm/vmwgfx: Remove the resource avail field 2018-09-27 15:21:37 +02:00
vmwgfx_drv.h drm/vmwgfx: Remove the resource avail field 2018-09-27 15:21:37 +02:00
vmwgfx_execbuf.c drm/vmwgfx: Reduce the size of buffer object relocations 2018-09-27 15:21:36 +02:00
vmwgfx_fb.c drm/vmwgfx: Move buffer object related code to vmwgfx_bo.c 2018-07-03 20:33:46 +02:00
vmwgfx_fence.c drm/vmwgfx: Make the object handles idr-generated 2018-09-27 16:14:18 +02:00
vmwgfx_fence.h drm/vmwgfx: add SPDX idenitifier and clarify license 2018-06-29 15:28:48 -05:00
vmwgfx_fifo.c drm/vmwgfx: add SPDX idenitifier and clarify license 2018-06-29 15:28:48 -05:00
vmwgfx_gmr.c drm/vmwgfx: add SPDX idenitifier and clarify license 2018-06-29 15:28:48 -05:00
vmwgfx_gmrid_manager.c Merge branch 'ida-4.19' of git://git.infradead.org/users/willy/linux-dax 2018-08-26 11:48:42 -07:00
vmwgfx_ioctl.c Merge tag 'vmwgfx-next-4.19-3' of git://people.freedesktop.org/~thomash/linux into drm-next 2018-07-10 11:13:39 +10:00
vmwgfx_irq.c drm/vmwgfx: add SPDX idenitifier and clarify license 2018-06-29 15:28:48 -05:00
vmwgfx_kms.c drm/vmwgfx: Use new validation interface for the modesetting code v2 2018-09-27 15:21:36 +02:00
vmwgfx_kms.h drm/vmwgfx: Use new validation interface for the modesetting code v2 2018-09-27 15:21:36 +02:00
vmwgfx_ldu.c drm-misc-next for 4.19: 2018-07-20 10:46:49 +10:00
vmwgfx_marker.c drm/vmwgfx: add SPDX idenitifier and clarify license 2018-06-29 15:28:48 -05:00
vmwgfx_mob.c Merge tag 'vmwgfx-next-4.19-2' of git://people.freedesktop.org/~thomash/linux into drm-next 2018-07-10 11:10:34 +10:00
vmwgfx_msg.c Merge tag 'vmwgfx-next-4.19-2' of git://people.freedesktop.org/~thomash/linux into drm-next 2018-07-10 11:10:34 +10:00
vmwgfx_msg.h drm/vmwgfx: add SPDX idenitifier and clarify license 2018-06-29 15:28:48 -05:00
vmwgfx_overlay.c Merge tag 'vmwgfx-next-4.19-2' of git://people.freedesktop.org/~thomash/linux into drm-next 2018-07-10 11:10:34 +10:00
vmwgfx_prime.c drm/ttm, drm/vmwgfx: Move the lock- and object functionality to the vmwgfx driver 2018-09-27 15:19:20 +02:00
vmwgfx_reg.h drm/vmwgfx: add SPDX idenitifier and clarify license 2018-06-29 15:28:48 -05:00
vmwgfx_resource_priv.h drm/vmwgfx: Make the object handles idr-generated 2018-09-27 16:14:18 +02:00
vmwgfx_resource.c drm/vmwgfx: Remove the user resource destructor check 2018-09-27 15:21:37 +02:00
vmwgfx_scrn.c drm/vmwgfx: Use new validation interface for the modesetting code v2 2018-09-27 15:21:36 +02:00
vmwgfx_shader.c drm/vmwgfx: Make the object handles idr-generated 2018-09-27 16:14:18 +02:00
vmwgfx_simple_resource.c drm/vmwgfx: Make the object handles idr-generated 2018-09-27 16:14:18 +02:00
vmwgfx_so.c drm/vmwgfx: Remove the resource avail field 2018-09-27 15:21:37 +02:00
vmwgfx_so.h drm/vmwgfx: add SPDX idenitifier and clarify license 2018-06-29 15:28:48 -05:00
vmwgfx_stdu.c drm/vmwgfx: Use new validation interface for the modesetting code v2 2018-09-27 15:21:36 +02:00
vmwgfx_surface.c drm/vmwgfx: Make the object handles idr-generated 2018-09-27 16:14:18 +02:00
vmwgfx_ttm_buffer.c Merge tag 'vmwgfx-next-4.19-2' of git://people.freedesktop.org/~thomash/linux into drm-next 2018-07-10 11:10:34 +10:00
vmwgfx_ttm_glue.c drm/vmwgfx: add SPDX idenitifier and clarify license 2018-06-29 15:28:48 -05:00
vmwgfx_va.c drm/vmwgfx: add SPDX idenitifier and clarify license 2018-06-29 15:28:48 -05:00
vmwgfx_validation.c drm/vmwgfx: Use a validation context allocator for relocations and validations 2018-09-27 15:21:36 +02:00
vmwgfx_validation.h drm/vmwgfx: Use a validation context allocator for relocations and validations 2018-09-27 15:21:36 +02:00