drm/ttm, drm/vmwgfx: Use RCU locking for object lookups v3
authorThomas Hellstrom <thellstrom@vmware.com>
Tue, 6 Nov 2012 11:31:50 +0000 (11:31 +0000)
committerDave Airlie <airlied@redhat.com>
Tue, 20 Nov 2012 06:15:05 +0000 (16:15 +1000)
commitcdad05216c2b2edfe92a9f87d6ae51aab277f3b2
tree1ba899709b77745acec655d0a8eea3f08c97a885
parent4b20db3de8dab005b07c74161cb041db8c5ff3a7
drm/ttm, drm/vmwgfx: Use RCU locking for object lookups v3

The mostly used lookup+get put+potential_destroy path of TTM objects
is converted to use RCU locks. This will substantially decrease the amount
of locked bus cycles during normal operation.
Since we use kfree_rcu to free the objects, no rcu synchronization is needed
at module unload time.

v2: Don't touch include/linux/kref.h
v3: Adapt to kref_get_unless_zero return value change

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
drivers/gpu/drm/ttm/ttm_object.c
drivers/gpu/drm/vmwgfx/vmwgfx_resource.c
include/drm/ttm/ttm_object.h