drm/i915: Convert non-blocking userptr waits for requests over to using RCU
authorChris Wilson <chris@chris-wilson.co.uk>
Fri, 5 Aug 2016 09:14:08 +0000 (10:14 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Fri, 5 Aug 2016 09:54:35 +0000 (10:54 +0100)
commit8a3b3d576c933d99fe774e9cb88005b87c3fb5c4
treed2765e13d01b67a5cedb28bde5cbe068dea10fd9
parentb8f9096d6a51e3ac31deb0f57a9a323059bb4281
drm/i915: Convert non-blocking userptr waits for requests over to using RCU

We can completely avoid taking the struct_mutex around the non-blocking
waits by switching over to the RCU request management (trading the mutex
for a RCU read lock and some complex atomic operations). The improvement
is that we gain further contention reduction, and overall the code
become simpler due to the reduced mutex dancing.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1470388464-28458-3-git-send-email-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/i915_gem_userptr.c